2016-01-22 8 views
1

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

Спасибо

+2

Похоже, [ISO 8601] (https://en.wikipedia.org/wiki/ISO_8601). – Biffen

+0

Я не мог отформатировать его с помощью формата (значение, «мм/дд/гггг»). У вас есть идея о том, как отформатировать это? –

+0

Не зная, какой язык/библиотеку вы используете. Ява? – Biffen

ответ

1

Это, как представляется, дата 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") 
0

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

Смежные вопросы