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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
Date 在MS Access查询中将13位字符串转换为日期_Date_Ms Access_Sql Update - Fatal编程技术网

Date 在MS Access查询中将13位字符串转换为日期

Date 在MS Access查询中将13位字符串转换为日期,date,ms-access,sql-update,Date,Ms Access,Sql Update,我收到了一些数据的链接,这些数据在文本列中以13位数字的形式存储在一个短文本字段中。我想在MS Access 2016数据库表中显示这些日期。我要将它们附加到的字段是日期格式的字段 日期采用这种格式,它们都应该是最近的日期: 153326880000, 1533697200000, 1533783600000, 1534129200000, 1534129200000 有人知道我如何将这些字符串转换为格式为2018年4月25日16:13:46的日期吗?我试过从这个网站上得到一些建议,但是,到目前

我收到了一些数据的链接,这些数据在文本列中以13位数字的形式存储在一个短文本字段中。我想在MS Access 2016数据库表中显示这些日期。我要将它们附加到的字段是日期格式的字段

日期采用这种格式,它们都应该是最近的日期:

153326880000, 1533697200000, 1533783600000, 1534129200000, 1534129200000

有人知道我如何将这些字符串转换为格式为2018年4月25日16:13:46的日期吗?我试过从这个网站上得到一些建议,但是,到目前为止,Access没有任何效果

这是我当前的查询,但是,它在Access中给出了错误的日期,但在Excel中给出了正确的日期:

UPDATE SH_Interviews_Data 
INNER JOIN SH_Data_addition 
ON SH_Interviews_Data.sel_nombre = SH_Data_addition.id_nombre 
SET SH_Data_addition.cargo = [SH_Interviews_Data].[cargo], 
SH_Data_addition.ultimo_contac1 = [SH_Interviews_Data].[fecha_entrev]/86400000+TimeValue("1970-01-01") ;

提前感谢。

在Andre提供的链接中有一些非常详细的答案,但是如果您想要快速而肮脏的解决方案,这个简单的函数将获取字符串并为您提供日期和时间

Function UnixEpochTime(sInput As String) As Date

    Dim iSeconds As Long
    Dim dStart As Date

    dStart = #1/1/1970#

    iSeconds = Val(sInput / 1000)

    UnixEpochTime = DateAdd("s", iSeconds, dStart)


End Function

DateAdd只处理整秒,因此删除了字符串的毫秒部分。

对不起,我想在查询中执行此操作。对此我可能还不够清楚。无论如何,此查询将日期粘贴到文本字段中。如果将CDate输入到日期字段中,则可以从最后一行删除CDate:

UPDATE JoinTbl 
INNER JOIN InputTbl 
ON JoinTbl.ID = SH_Data_addition.ID 
SET SH_Data_addition.cargo = [JoinTbl].[cargo], 
SH_Data_addition.ultimo_contact = CDate([JoinTbl].[fecha_entrev]/86400/1000+25569);

你能解释一下这些文本字符串是如何转换成日期的吗?使用的转换是什么?您没有给我们太多的实际工作机会吗?对不起,从1970年1月1日开始,现在是UNIX纪元时间,可能是