【问题标题】:Coldfusion equiv of PHP strtotime()?Coldfusion相当于PHP strtotime()?
【发布时间】:2009-09-28 18:30:48
【问题描述】:

我对 CF / Flex3 比较陌生,我的任务是制作模拟应用程序,以提高我对这 2 种语言的了解。

我正在创建一个应用程序,我需要返回 1 周的数据(strtotime equiv '-1 week')。

所以结果总是值得 1 周。

coldfusion 的可比等价物是什么?如果没有,我将如何完成这项任务?只是好奇,我已经搜索过,但还没有找到关于这个主题的任何内容。

我是如何解决这个问题的(从“上周五”获取数据):

<cfset lastweek = dateAdd("d", -(DayOfWeek(now()) + 1), now()) />


strtotime
将任何英文文本日期时间描述解析为 Unix 时间戳

【问题讨论】:

标签: php coldfusion strtotime


【解决方案1】:

我不知道冷融合中的一种方法(无论如何都不是本机),它会采用文本表示时间并进行转换。一些谷歌搜索也没有出现任何东西。它可以写出来,但不是一件简单的事情。

也就是说,如果您想获得 1 周前的日期,您可以使用 dateadd() function 执行类似的操作:

<cfset variables.lastweek = dateAdd("w",-1,now()) />

<cfset variables.lastweek = dateAdd("d",-7,now()) />

当然,您可以将 now() 替换为任何时间戳或日期。

更新:

请记住,因为 CF 是 java,所以您也可以使用任何 java 类来帮助您。看起来即使在 java 中也没有一个简单的等价物,但这些相关主题可能会对您有所帮助:

PHP's strtotime() in Java?

PHP's strtotime() in Java

【讨论】:

  • 例如,如果我需要“上周五”的数据,我将如何做到这一点?这就是让我挠头的原因......
  • Jakub,使用 DayOfWeek 得到当天,减去它得到一周的开始,然后减去两/三天得到星期五。
  • @jakub,就像@peter buyon 说的那样,你需要做数学才能弄清楚上周五是什么日子。这看起来确实需要做很多工作,但它很可能会运行得更快并且更不容易出错。像这样的语言翻译的问题在于它是“模糊的”,同一件事可以有多种含义。依靠用户输入是一件好事,但在您的代码中最好进行适当的数学运算。
【解决方案2】:

也许ParseDateTime 会胜任这项工作?

【讨论】:

  • 这是最接近的函数,但它不会对“上周五”之类的内容进行自然语言转换。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-01
  • 2011-08-21
  • 2016-01-01
  • 2012-12-03
  • 2011-08-27
  • 2012-04-23
  • 2012-03-11
相关资源
最近更新 更多