【问题标题】:LSDateFormat is generating default date of 12/30/1899... how to fix?LSDateFormat 正在生成 12/30/1899 的默认日期...如何解决?
【发布时间】:2011-06-01 00:46:58
【问题描述】:


我们的一个数据库设置了一个页面来打印包含各种地质信息的报告。有问题的数据库是 FoxPro DB,包含一个日期字段,在 FoxPro 中的格式为 mm/dd/yy。

报表中有sn-p的代码

#LSDateFormat(qLithHead.drill_date, "mm/dd/yyyy")#

它正在提取 Drill_date 并将其转换为请求的格式,并在此过程中获取所有 1500~ 条没有钻孔日期的记录并添加默认的 12/30/1899 日期。

Boss 不希望报告中使用默认日期,但希望报告中包含完整的格式化日期(如果存在),因为他们确实有一些可以追溯到 1900 年代初期的数据,并且他们需要列出完整的世纪.

我正在尝试编写一个 if/else 语句来创建一个变量、d_date 和存储

 LSDateFormat(qLithHead.drill_date, "mm/dd/yyyy")

如果该字段已填写, 否则,如果日期为空,它将存储一个空字符串“”。

<cfif (EMPTY(qLithHead.drill_date))>
     <cfset d_date=" ">
<cfelse>
     <cfset d_date=#LSDateFormat(qLithHead.drill_date, "mm/dd/yyyy")#>
</cfif>

然后在报告的日期区域中,我将简单地调用 d_date 变量,无论其值如何:

#d_date#

无论如何,这就是我想要完成的总体思路。我完全不确定 CF 的语法。

感谢您提供的任何帮助。

谢谢! :)

【问题讨论】:

  • 在你的 cfset 中不需要 # #,只需执行:
  • 谢谢邓肯,我已经删除了##。

标签: date coldfusion if-statement


【解决方案1】:

Coldfusion 9 有一个返回布尔值的 isNull() 函数:

<cfif isNull(qLithHead.drill_date)> 

http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSe9cbe5cf462523a0-3c4c0bb81223f1daffb-8000.html

或者,如果您没有运行 CF9,您可以尝试:

<cfif isDate(qLithHead.drill_date)>

<cfif Year(qLithHead.drill_date) EQ '1899'>

摆脱丑陋的时间戳

【讨论】:

  • 感谢您的回答,珍!这是我输入的代码: 不幸的是,当我调用 d_date 时,它​​并没有将默认日期更改为空字符串。
  • 我刚刚注意到一些有趣的事情......当我像这样交换代码时 它用空字符串替换所有日期,包括默认日期,向我表明日期没有被存储为空白......我想?有什么想法吗?
  • @Katie - 我们的帖子发生冲突。 FoxPro db 列的数据类型是什么(日期/时间、varchar 等)?也尝试输出原始值和修剪值。 &lt;cfoutput&gt; qLithHead.drill_date = |#qLithHead.drill_date#|&lt;br&gt; length = #len(qLithHead.drill_date)#&lt;br&gt; trimmed length = #len(trim(qLithHead.drill_date))# d_date = #d_date#|&lt;br&gt; &lt;/cfoutput&gt;
  • @Leigh - FoxPro 数据的类型为日期,宽度为 8。在表格本身中,空白显示为 / /。您的第二段代码生成以下输出: qLithHead.drill_date = |{ts '1899-12-30 00:00:00'}|长度 = 26 修剪长度 = 26 d_date = 12/30/1899|
  • @jen - 如果它是默认值,则可以解释为什么空字符串不起作用。看起来很奇怪,尽管他们不只是使用NULL .. @Katie - 只需确保您最早的数据是 1900 年 ;) 顺便说一句:LSDateFormat 适用于不同的语言环境。你可能不需要它。 help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-23
  • 2011-10-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多