5

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

但是,当我使用 cfquery 在 Coldfusion 中重新尝试并使用 显示时,我在屏幕上得到了日期,如“ 2038-01-18 21:14:07.0”。

有谁知道为什么它以不同的格式显示?无论如何我们可以让它像 TOAD 格式一样显示吗?

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

4

2 回答 2

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")#

有日期时间格式

快乐编码

于 2010-01-07T15:41:18.243 回答
5

您从数据库中检索到的 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>

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

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

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

有关Adob​​e 的DateFormat()TimeFormat()的更多信息。更多关于来自 Pete Freitag 的DateFormat 和 TimeFormat 快捷方式。

于 2010-01-07T16:58:51.310 回答