Формат DateTime.ParseExact для пользовательской даты
Я не могу использовать функцию parseexact для преобразования следующей строки в дату
Этот работает:
Dim fechaS = "Feb 16 23:13:53.241 2015"
fecha1 = DateTime.ParseExact(fechaS, "MMM dd HH:mm:ss.fff yyyy", Nothing)
Но не получается, когда я добавляю еще пару вариантов:
Dim fechaS = "Mon 16 23:13:53.241 UTC 2015"
fecha1 = DateTime.ParseExact(fechaS, "ddd MMM dd HH:mm:ss.fff z yyyy", Nothing)
1 ответ
Решение
Ваш второй пример имеет три проблемы:
- Строка datetime отличается от формата даты
- Строка даты не содержит месяца, поэтому ее нельзя проанализировать, не зная об этом.
- Не существует действительного спецификатора даты и времени, соответствующего "UTC". Для настройки часовых поясов необходимо указать смещение часового пояса (это то, что
z
означает) . Вы могли бы это заменитьUTC
с+0
Это не удается
Dim fechaS = "Mon 16 23:13:53.241 UTC 2015"
fecha1 = DateTime.ParseExact(fechaS, "ddd MMM dd HH:mm:ss.fff z yyyy", Nothing)
Это работает
Dim fechaS = "Mon Feb 16 23:13:53.241 UTC 2015"
fecha1 = DateTime.ParseExact(fechaS.Replace("UTC", "+0"), "ddd MMM dd HH:mm:ss.fff z yyyy", Nothing)
Больше информации здесь о допустимых форматах даты и времени: Пользовательские строки формата даты и времени