2015-03-02 2 views
1

У меня есть эта строка: «{ц„2015-03-02 12:00:00“}» (variables.fl_dt), и я пытаюсь преобразовать его, используя формат даты:CFML вопрос с датой маски

#DateFormat("#variables.fl_dt#", "yyyy.MM.dd 'at' HH:nn:ss")# 

Все в порядке, за исключением минут: 2015.03.02 в 12: nn: 00 На веб-сайте Adobe «nn» есть несколько минут, но кажется, что здесь не работает. Есть идеи?

+3

Можете ли вы указать, где он говорит 'nn' для минут на' DateFormat() 'Docs страницы (https: // wikidocs. adobe.com/wiki/display/coldfusionen/DateFormat)? Вы уверены, что не рассматривали документы для 'dateTimeFormat()'? Вот что вы хотите использовать здесь –

+0

Вы уверены, что это строка, а не объект datetime? –

+0

На основе кода примера вы определенно смотрели документы [DateTimeFormat] (https://wikidocs.adobe.com/wiki/display/coldfusionen/DateTimeFormat). Как отмечено в комментариях ниже, пример кода не выводит строковый литерал «at» между датой и временем. CF10 интерпретирует 't' как маркер времени. Не уверен, есть ли способ избежать этого. – Leigh

ответ

4

DateFormat не имеет временного паттерна. Запрошенный результат можно получить с помощью функций DateFormat и TimeFormat.

<cfset result = DateFormat(variables.fl_dt, "yyyy.MM.dd") & " at " & 
       TimeFormat(variables.fl_dt, "HH:nn:ss") /> 
2

Посмотрите на комментарий Адама. dateTimeFormat() даст вам то, что вам нужно.

#DateTimeFormat(variables.fl_dt, "yyyy.MM.dd 'at' HH:nn:ss")# 

отображает 2015.03.02 в 06:03:10

+0

Под CF10 и CF11 этот код не добавляет 'at' между датой и временем. –

+0

Это потому, что 't' является специальным символом маски для маркера времени. Вероятно, у искателя был оригинальный пример из [документации Adobe] (https://wikidocs.adobe.com/wiki/display/coldfusionen/DateTimeFormat), который, к сожалению, ошибочен. – Leigh

+0

Я лично бы не использовал 'at', но это было в вопросе. Я не тестировал Adobe CF. Работал на Люсе 4.5.1.003. В следующий раз, когда я увижу, что Adobe упомянул, что я либо буду тестировать Adobe CF, либо упомянуть, что было сделано. – Mike