Coldfusion: cfspreadsheet неправильно считывает дату

Я использую cfspreadsheet для чтения данных из электронных таблиц внутри одного из моих приложений. У меня были большие трудности с работой со столбцами даты. Если я форматирую ячейку как дату на английском языке (NZ), она отображается прямо в электронной таблице, но когда я пытаюсь загрузить, она переключает день и месяц. Но если я изменю формат на пользовательский формат «дд/мм/гггг», он будет загружен без проблем.

Почему использование форматов даты по умолчанию в электронной таблице испортит формат, а пользовательский - нет? Есть ли обходной путь?


person Rumpleteaser    schedule 17.10.2012    source источник


Ответы (1)


Я использовал тип даты "* 14/03/2001".

* означает, что он будет: реагировать на изменения региональных настроек даты и времени, указанных для операционной системы.

Так что, должно быть, где-то по пути это было перевернуто Java или CF. Я изменил его на ту же маску даты без звездочки, и проблема перестала возникать.

person Rumpleteaser    schedule 17.10.2012
comment
Внутренний объект даты и времени Coldfusions ориентирован на американскую дату и по умолчанию будет интерпретировать дату и время в американском формате. это почти моя единственная жалоба на CF - person Dpolehonski; 17.10.2012
comment
@Dpolehonski - Вы говорите о функциях даты, а не об объектах? Стандартные функции даты (parseDateTime, dateFormat и т. д.) используют соглашения о форматировании даты, принятые в США. Если вы поддерживаете i18n, вы должны вместо этого использовать функции LS*. - person Leigh; 25.10.2013