【发布时间】:2012-04-19 06:54:39
【问题描述】:
我有几十个 MySQL 表链接在一个 MS Access 程序中。还有十几个查询将这些表拉在一起并以人类的方式提供数据,尤其是将时间戳转换为 mm/dd/yyyy 格式。
我已经测试了时间戳http://www.unixtimestamp.com/index.php),但下面的代码会生成日期:4/25/2012 这是不正确的,它应该是 4/24/2012
SELECT
date_promised,
DateAdd('s', 1335312000, #1/1/1970#) AS date_promised2
FROM
erp_workorder AS t1
WHERE
id_primary = 73135;
这是怎么回事?
问候, 亚历克斯
【问题讨论】:
-
您的日期是存储为 unix 时间戳还是日期时间?
-
Unix 时间戳采用 UTC。您的代码是否转换为您当地的时区? 1335312000 在英国是 2012/04/24,但在美国是 2012/04/25。
-
我知道时间戳存储为 GMT - 我知道这与 UTC 相同吗?话虽如此,我不知道如何在 Access 中强制/检查这一点——它是一个遗留系统,正在与新的基于 Web 的系统集成。我将谷歌在 Access EDIT | 中设置时区同事提出了一个很好的观点。 Access 中的时区可能是从本地计算机中提取的。我的设置为:UTC-06:00)中部时间(美国和加拿大)使用以下内容:时间戳:1335312000 日期(M/D/Y @ h:m:s):04 / 24 / 12 @ 7:00美国东部时间下午 00 点
标签: mysql ms-access dateadd linked-tables