Date 在MS Access查询中将13位字符串转换为日期
我收到了一些数据的链接,这些数据在文本列中以13位数字的形式存储在一个短文本字段中。我想在MS Access 2016数据库表中显示这些日期。我要将它们附加到的字段是日期格式的字段 日期采用这种格式,它们都应该是最近的日期: 153326880000, 1533697200000, 1533783600000, 1534129200000, 1534129200000 有人知道我如何将这些字符串转换为格式为2018年4月25日16:13:46的日期吗?我试过从这个网站上得到一些建议,但是,到目前为止,Access没有任何效果 这是我当前的查询,但是,它在Access中给出了错误的日期,但在Excel中给出了正确的日期: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的日期吗?我试过从这个网站上得到一些建议,但是,到目前
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纪元时间,可能是