coldfusion - 在不知道服务器时间的情况下如何使用 DateDiff?

标签 coldfusion coldfusion-9

我在 CF 中遇到了一个需要解决的难题。

您有一个时间戳作为参数传递给服务器。例如2012-5-10 14:55。 您如何查看从给定时间起是否已过去 30 秒并返回 truefalse

规则:

  1. 您无法使用当前服务器时间来检查是否已经过去了 30 秒,因为时间戳来自世界任何地方并且总是错误的。

  2. 在这种情况下,您始终可以信任传递给服务器的参数时间戳。

这在 ColdFusion 9 中如何可能(如果有的话)?

最佳答案

嗯......你的问题是你不知道延迟。您可以从收到时间戳开始计算 30 秒 - 但这可能是创建时间戳后的几秒。

您可以轻松地数 30 秒...

sleep(30000); //1000 miliseconds = 1 second. 30k = 30 seconds

因此,一旦您获得 var,您就可以“等待”三十秒,然后执行某些操作。但从您的问题来看,您似乎需要从创建时间戳(在客户端上创建)的时间起精确 30 秒。您可能不能那么准确,因为:

  1. 两个时钟不同步
  2. 您无法计算出请求的延迟时间。
  3. 即使可以,由于您无法控制客户端,因此您将难以保证结果,因为 HTTP 是无状态的且不是实时的。

如果你可以指定一个 HTML5 浏览器,你可以使用 websockets - 这实际上是乞求它:) 但这是我能想到的唯一真正的解决方案。

关于coldfusion - 在不知道服务器时间的情况下如何使用 DateDiff?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10537503/

相关文章:

redirect - 使用 ColdFusion Model-Glue,如何在登录后将用户重定向回他们请求的页面?

orm - CF9 中用于持久性 CFC 的 New/CreateObject() 与 EntityNew() 之间的区别?

coldfusion - 我可以在同一台服务器上安装 Coldfusion 9 和 Coldfusion 8 吗?

unix - 如何在 ColdFusion rsh 命令中更改用户的主要 unix 组?

coldfusion - 如何循环遍历 ColdFusion 中的结构数组

php - 在windows xp上添加mySQL包括管理工具

coldfusion - 如何在 ColdFusion 中调用带有某些参数的 cfm 文件?

arrays - 访问发送的表单变量中的数组

coldfusion - CFDOCUMENT 为相同的输入创建具有不同 MD5 哈希值的 PDF

ColdFusion 未正确解释 CFDirectory 中的日期时间