在ColdFusion中,我可以使用CreateDate()
获得当前没有时间的日期(技术上时间设置为00:00:00)。这对比较两个日期非常有用,无论时间如何。但是,这似乎效率低下。例如,要获得今天的日期,我会写:在Coldfusion中获取无日期日期的较短方法
CreateDate(Year(Now()),Month(Now()),Day(Now())
有没有更高效的方法来做到这一点?
在ColdFusion中,我可以使用CreateDate()
获得当前没有时间的日期(技术上时间设置为00:00:00)。这对比较两个日期非常有用,无论时间如何。但是,这似乎效率低下。例如,要获得今天的日期,我会写:在Coldfusion中获取无日期日期的较短方法
CreateDate(Year(Now()),Month(Now()),Day(Now())
有没有更高效的方法来做到这一点?
可以使用dateCompare
与d
一个第三个参数,只比较日期本身
dateCompare(date1, date2, 'd')
'Now()'不会返回当前时间吗? –
是的,我为什么说“如果你不在乎时间” –
啊,我的误解。但是,从某种意义上说,我确实在意时间。比较'Now()'和当前日期应该是相等的。因此,今天是2017年3月3日,无论一天中的哪一天,'CreateDate(2017,3,21)'应该等于'MissingFunction(Now())'。所以我要求的是编写'MissingFunction()'的最有效方法。 –
<cfset myVar = now()>
是获取当前日期为变量的最快方法。是的,它也有时间,但是你以后忽略时间。 EX:#dateFormat(myVar, 'short')#
,以上为您的使用....
DateDiff('datepart', myVar, someOtherDateVar)
更多信息:https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-c-d/DateDiff.html
'日期格式(NOW(), 'YYYY-MM-DD')' - ColdFusion的非常好在从字符串中读取日期时,无论格式如何,只要将其称为日期,都可以理解某些内容。我确信有人会与我的采取不是最佳实践,但如果你寻找更少的步骤,它会工作。 – TRose
有趣的建议@Tose。我测试了这个和逻辑工作,但它使用DateFormat()而不是CreateDate()慢了4倍。也许CreateDate()是最重要的。 –
您可以随时创建一个UDF来完成上述操作。然后在代码的其余部分使用UDF。 – ale