ColdFusion中的日期显示问题

时间:2010-01-07 15:36:26

标签: datetime coldfusion cfquery

当我在TOAD中重新审核日期字段时,它显示为“1/18/2038 9:14:07 PM”,

但是当我使用cfquery在Coldfusion中重新使用并显示使用时,我在屏幕上显示的日期类似于“2038-01-18 21:14:07.0”。

有谁知道为什么它以不同的格式显示? 反正我们可以把它显示为TOAD格式吗?

我正在使用Oracle 10g DB和coldfusion 8

2 个答案:

答案 0 :(得分: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")#

拥有日期时间格式

快乐编码

答案 1 :(得分:5)

从数据库中检索到的Coldfusion datetime变量包含您请求的所有信息。 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>

如果必须使用TOAD格式构造单个字符串,则可以连接dateFormat()和timeFormat()字符串的输出。

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

如果您多次使用此数据,这可以省去一些麻烦。但是对于大多数需要,这是不必要的,因为原始的myDateTime变量包含除显示输出之外的所有目的所需的所有信息。

有关Adobe的DateFormat()TimeFormat()的更多信息。更多关于Pete Freitag的DateFormat and TimeFormat shortcuts