2010-01-07 3 views
5

Когда я retrived поле даты в ЖАБА она отображается как есть «1/18/2038 9:14:07 PM»,Дата проблема отображения в ColdFusion

Но когда я rertrived в Coldfusion с помощью cfquery и отображается с помощью, я получил дату на экране, как "2038-01-18 21:14:07.0 ».

У кого-нибудь есть идеи, почему он отображается в другом формате? В любом случае мы можем отображать его как формат TOAD?

Я использую Oracle 10g DB и ColdFusion 8

ответ

8

Вы могли бы использовать что-то вроде:

<cfquery datasource="northwind" name="queryDB"> 
    SELECT date_used, time_used 
    FROM invoicesTable 
</cfquery> 

<cfoutput query="queryDB"> 
#DateFormat(date_used, "m/d/yyyy")# 
#TimeFormat(time_used, "h:mm tt")# 
</cfoutput> 

Я думаю, что это то, что вы хотите.

Вы можете использовать

#DateTimeFormat(Now(), "mmm d, yyyy","h:mm TT")# 

видеофайлы формата DATETIME

Днем кодирования

+0

У меня есть дата и время, указанные в DB, ​​например, «1/18/2038 9:14:07 PM». В приведенном выше примере он извлекает seperatly – CFUser

+2

@CFUser, вот как это работает в CF: даты и время форматирования функции принимают объект даты, но возвращают только собственную часть. Вы всегда можете обернуть обе функции в единый UDF, например FormatDateTime(). – Sergii

+2

Я не знаю о встроенной функции с именем 'DateTimeFormat()'. Тем не менее, Бен Надел имеет реализацию в своем блоге. http://www.bennadel.com/blog/717-ColdFusion-DateTimeFormat-Utility-Function.htm – Tomalak

5

DateTime переменной Coldfusion вы извлекаться из базы данных имеет всю информацию, которую Вы запрашиваете. Coldfusion автоматически преобразует его на различные выходы в зависимости от ваших потребностей, используя некоторые встроенные функции.

<!--- Assuming that 'myDateTime' is a datetime variable retrieved from cfquery ---> 
<cfoutput> 
    <!--- Outputs: 1/7/2010 ---> 
    #dateFormat(myDateTime, "m/d/yyyy")# 
    <!--- or use a mask shortcut - only outputs two digit year: 1/7/10 ---> 
    #DateFormat(myDateTime, "short")# 

    <!--- Outputs: 8:47:14 AM ---> 
    #timeFormat(myDateTime, "h:mm:ss tt")# 
    <!--- or use the shortcut: ---> 
    #TimeFormat(myDateTime, "medium")# 
</cfoutput> 

Если вы должны построить одну строку с форматом жаба, то вы можете сцепить вывод строк DateFormat() и TimeFormat().

<!--- Outputs: '1/7/2010 8:47:14 AM' ---> 
<cfset toadFormat = dateFormat(myDateTime, "m/d/yyyy") & " " & TimeFormat(myDateTime, "medium")> 

Это экономит немного хлопот, если вы будете использовать эти данные много раз. Однако для большинства потребностей это необязательно, поскольку исходная переменная myDateTime содержит всю информацию, необходимую для всех целей, отличных от вывода вывода.

Подробнее о DateFormat() и TimeFormat() от Adobe. Более подробно о DateFormat and TimeFormat shortcuts от Pete Freitag.

+1

Я не знал об этих ярких ярлыках. Спасибо за это. – ale