Вот улучшение на версия Joe. Не стесняйтесь редактировать его далее.
function parseTime(timeString)
{
if (timeString == '') return null;
var d = new Date();
var time = timeString.match(/(\d+)(:(\d\d))?\s*(p?)/i);
d.setHours( parseInt(time[1],10) + ( ( parseInt(time[1],10) < 12 && time[4] ) ? 12 : 0) );
d.setMinutes( parseInt(time[3],10) || 0 );
d.setSeconds(0, 0);
return d;
}
var tests = [
'1:00 pm','1:00 p.m.','1:00 p','1:00pm','1:00p.m.','1:00p','1 pm',
'1 p.m.','1 p','1pm','1p.m.', '1p', '13:00','13', '1a', '12', '12a', '12p', '12am', '12pm', '2400am', '2400pm', '2400',
'1000', '100', '123', '2459', '2359', '2359am', '1100', '123p',
'1234', '1', '9', '99', '999', '9999', '99999', '0000', '0011', '-1', 'mioaw' ];
for ( var i = 0; i < tests.length; i++ ) {
console.log( tests[i].padStart( 9, ' ' ) + " = " + parseTime(tests[i]) );
}
Изменения:
Просто догадываюсь ...
У вас есть XmlConfiguration, определенный в вашей сборке?
Вы забыли его в своем тестовом проекте?
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Обычно это сгорает. меня время от времени.
Все еще не могу сказать, почему приведенный выше код не работает, но я получил log4net для правильной настройки и использования моего приложения, заменив весь код конфигурации на:
log4net.Config.BasicConfigurator.Configure(_appender);
From здесь .