ColdFusion中的日期显示问题

CFU*_*ser 5 coldfusion datetime cfquery

当我在TOAD中重新启动Date字段时,它显示为' 1/18/2038 9:14:07 PM',

但是当我使用cfquery在Coldfusion中重新使用并显示使用时,我在屏幕上得到的日期就像' 2038-01-18 21:14:07.0'.

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

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

Rav*_*via 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>
Run Code Online (Sandbox Code Playgroud)

我想这就是你想要的.

你可以用

#DateTimeFormat(Now(), "mmm d, yyyy","h:mm TT")#
Run Code Online (Sandbox Code Playgroud)

有日期时间格式

快乐的编码

  • @CFUser,它在CF中的工作原理:日期和时间格式化函数接受日期对象但只返回自己的部分.您始终可以将两个函数都包装到单个UDF中,如FormatDateTime(). (2认同)
  • 我不知道一个名为`DateTimeFormat()`的内置函数.不过,Ben Nadel在他的博客上有一个实现.http://www.bennadel.com/blog/717-ColdFusion-DateTimeFormat-Utility-Function.htm (2认同)

Dan*_*sen 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>
Run Code Online (Sandbox Code Playgroud)

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

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

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

有关Adobe的DateFormat()TimeFormat()的更多信息.有关Pete Freitag的DateFormat和TimeFormat快捷方式的更多信息.