У меня есть значение как это 2015-12-18 11:14:20.72+05:30
, и я хотел был бы преобразовать его в формат yyyy/dd/mm
. Я хотел бы знать, какой формат - дата, о которой я упоминал выше.Какой формат даты?
Спасибо
У меня есть значение как это 2015-12-18 11:14:20.72+05:30
, и я хотел был бы преобразовать его в формат yyyy/dd/mm
. Я хотел бы знать, какой формат - дата, о которой я упоминал выше.Какой формат даты?
Спасибо
Это, как представляется, дата ISO с большим количеством информации, чем VBA предназначен для обработки. Например, в конце он, похоже, имеет разницу с GMT для конфигурации, на которой он был сгенерирован. VBA не был разработан для работы с миллисекундами или данными по GMT - язык программирования не обновлялся более десятилетия, за исключением новых объектов в приложениях 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 символов, а затем преобразовать их в Date.
Похоже, [ISO 8601] (https://en.wikipedia.org/wiki/ISO_8601). – Biffen
Я не мог отформатировать его с помощью формата (значение, «мм/дд/гггг»). У вас есть идея о том, как отформатировать это? –
Не зная, какой язык/библиотеку вы используете. Ява? – Biffen