我在MS Access程序中链接了几十个MySQL表。还有十几个查询可以将这些表格集中起来并以人类方式提供数据,特别是将时间戳转换为mm / dd / yyyy格式。
我已经测试了时间戳http://www.unixtimestamp.com/index.php),但下面的代码会生成日期:2012年4月25日这是不正确的应该是4/24/2012
SELECT
date_promised,
DateAdd('s', 1335312000, #1/1/1970#) AS date_promised2
FROM
erp_workorder AS t1
WHERE
id_primary = 73135;
这里发生了什么?
此致 亚历
答案 0 :(得分:2)
查询中的DateAdd()
表达式要求将Unix时间戳的日期/时间等效为UTC时间。
? DateAdd("s", 1335312000, #1/1/1970#)
4/25/2012
展开格式以明确显示时间。
? Format(DateAdd("s", 1335312000, #1/1/1970#), "yyyy-mm-dd hh:nn:ss")
2012-04-25 00:00:00
将时间戳插入该网页的框中,然后点击“转换”按钮,它会显示以下值:
04 / 24 / 12 @ 7:00:00pm EST
使用早期格式......
2012-04-24 19:00:00
现在比较同一时刻的这两种不同表现形式。
2012-04-25 00:00:00 (UTC)
2012-04-24 19:00:00 (EST)
如果您希望查询显示带有任何时区偏移量的UNIX时间戳,请应用该转换以实现此目的。
答案 1 :(得分:0)
如果date_promised字段属于DATETIME类型,则可以使用 -
SELECT date_promised, DATE_FORMAT(date_promised, '%m/%d/%Y') AS date_promised2
FROM erp_workorder AS t1
WHERE id_primary = 73135;
如果date_promised字段包含unix时间戳,则可以使用 -
SELECT date_promised, DATE_FORMAT(FROM_UNIXTIME(date_promised), '%m/%d/%Y') AS date_promised2
FROM erp_workorder AS t1
WHERE id_primary = 73135;