【问题标题】:Is it possible to subtract 6hrs from DateDiff?是否可以从 DateDiff 中减去 6 小时?
【发布时间】:2017-04-23 20:43:29
【问题描述】:

我正在使用下面的访问查询进行一些计算。因为服务器位于欧洲,而应用程序的用户在美国,所以相差 6 小时。在下面的命令中,我可以如何适应这个吗?这样在运行命令时它会以某种方式将 datediff 减去 6 小时?

Days Waiting : IIf([Datereceivedunit] Is Null,0,IIf([QuoteFrom] Is Null,DateDiff("d",[Datereceivedunit],Date())-(DateDiff("ww",[Datereceivedunit],Date())*2),0))

【问题讨论】:

  • 作为一般做法,但特别是如果系统组件位于多个时区,则应始终将 UTC 日期时间存储在数据库中,并且仅根据需要转换为本地时间以在用户界面中显示。这也解决了夏令时问题。
  • 我会将 dateadd -6 小时放在查询的哪个位置?
  • 提示:"h" 而不是 "d"
  • 此查询返回天数,因此更改为“h”会导致查询错误?
  • 如果 [Datereceivedunit][QuoteFrom] 不包含时间部分,减去 6 小时(从哪个小时?)只会在当前结果中添加或减去零或一天。如果您从当天的差异中添加或减去 6 小时,这将始终偏移 6 小时。这两个结果似乎都不合适,因此您需要提供更多详细信息。

标签: sql ms-access datediff


【解决方案1】:

DateAdd("h", 6, YourFieldName)

【讨论】:

  • 这段代码将实现 6 小时的请求,但如果你能提供一个你想要达到的目标的例子,并告诉我发生了什么。我最好告诉你你的代码应该是什么样子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
相关资源
最近更新 更多