Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在MS Access中将时间戳转换为人类可读_Mysql_Ms Access_Dateadd_Linked Tables - Fatal编程技术网

Mysql 在MS Access中将时间戳转换为人类可读

Mysql 在MS Access中将时间戳转换为人类可读,mysql,ms-access,dateadd,linked-tables,Mysql,Ms Access,Dateadd,Linked Tables,我在MS Access程序中链接了几十个MySQL表。还有十几个左右的查询将这些表拉到一起,并以人工方式提供数据,特别是将时间戳转换为mm/dd/yyyy格式 我已经测试了时间戳,但是下面的代码生成了日期:4/25/2012,这是不正确的,应该是4/24/2012 选择 你承诺的日期, 日期:1335312000年1月1日,1970年1月1日,作为承诺日期2 从…起 erp_工作订单为t1 哪里 id_primary=73135; 这是怎么回事 问候,, Alex如果日期字段是日期时间类型,

我在MS Access程序中链接了几十个MySQL表。还有十几个左右的查询将这些表拉到一起,并以人工方式提供数据,特别是将时间戳转换为mm/dd/yyyy格式

我已经测试了时间戳,但是下面的代码生成了日期:4/25/2012,这是不正确的,应该是4/24/2012

选择 你承诺的日期, 日期:1335312000年1月1日,1970年1月1日,作为承诺日期2 从…起 erp_工作订单为t1 哪里 id_primary=73135;

这是怎么回事

问候,,
Alex

如果日期字段是日期时间类型,则可以使用-

SELECT date_promised, DATE_FORMAT(date_promised, '%m/%d/%Y') AS date_promised2
FROM erp_workorder AS t1
WHERE id_primary = 73135;
SELECT date_promised, DATE_FORMAT(FROM_UNIXTIME(date_promised), '%m/%d/%Y') AS date_promised2
FROM erp_workorder AS t1
WHERE id_primary = 73135;

如果日期字段包含unix时间戳,则可以使用-

SELECT date_promised, DATE_FORMAT(date_promised, '%m/%d/%Y') AS date_promised2
FROM erp_workorder AS t1
WHERE id_primary = 73135;
SELECT date_promised, DATE_FORMAT(FROM_UNIXTIME(date_promised), '%m/%d/%Y') AS date_promised2
FROM erp_workorder AS t1
WHERE id_primary = 73135;
查询中的DateAdd表达式要求将Unix时间戳的日期/时间等效为UTC时间

展开格式以显式显示时间

? Format(DateAdd("s", 1335312000, #1/1/1970#), "yyyy-mm-dd hh:nn:ss")
2012-04-25 00:00:00
当您将时间戳插入该网页上的框中,然后单击Convert按钮时,它将为您提供以下值:

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时间戳,请应用该转换以实现此目的。

您的日期是存储为UNIX时间戳还是存储为datetime?如何?UNIX时间戳以UTC为单位。您的代码是否转换为本地时区?1335312000在英国是2012/04/24,但在美国是2012/04/25。我知道时间戳存储为GMT,我知道这与UTC是一样的?话虽如此,我不知道如何在Access中强制/检查这一点——这是一个正在与新的基于web的系统集成的遗留系统。我将在Access EDIT中搜索设置时区|同事提出了一个很好的观点。访问中的时区可能来自本地机器。我的日期设置为:UTC-06:00美国和加拿大中央时间,使用以下格式:时间戳:1335312000日期M/D/Y@h:M:s:04/24/12@7:00:00pm EST日期存储为unix时间戳,而不是MYSQL日期时间,只是一个普通的jane整数,在PHP和类似的格式中格式很好,但Access出于某种原因希望添加一天:为了澄清…表是存储的作为带有时间戳的MySQL表,Access应用程序使用查询/视图将数据带入透视图——因为缺少更好的词。查询的SELECT语句必须在Access中完成,而不是MySQLI。我认为您可以在MS Access中强制执行非标准查询。如果没有,您可以在MySQL中创建一些视图,生成所需的输出,然后从Access查询视图。这是解决问题的最后办法。是的,理想情况下,我希望在Access中完成