Какой тип формата даты это?

У меня есть такая ценность2015-12-18 11:14:20.72+05:30 и я хотел бы преобразовать его в yyyy/dd/mm формат. Я хотел бы знать, в каком формате указана дата, о которой я упоминал выше.

Спасибо

2 ответа

Решение

Похоже, это дата ISO с большим количеством информации, чем рассчитано VBA. Например, в конце, похоже, есть разница с GMT для конфигурации, на которой он был сгенерирован. VBA не был разработан для работы с миллисекундами или информацией о времени по Гринвичу - язык программирования не обновлялся более десяти лет, за исключением новых объектов в приложениях Office.

Если вы отключите.72+05:30 VBA может работать с остальной информацией. Например:

year = DatePart("yyyy", "2015-12-18 11:14:20") 'returns 2015
hour = DatePart("h",  "2015-12-18 11:14:20") 'returns 11

Вы можете обрезать конец, используя манипуляции со строками, например:

sDateInfo = "2015-12-18 11:14:20.72+05:30"
sDateTrimmed = Left(sDateInfo, Instr(sDateInfo, ".")-1)
sDateFormatted = Format(sDateTrimmed, "yyyy/dd/mm")

Похоже, что VBA не может напрямую преобразовать эту метку времени. Я просто получил первые 10 символов, а затем преобразовал их в дату.

Другие вопросы по тегам