使用ISO 8601 - 2012年的MS Access
问题描述:
是否有处理ISO 8601 - 2012年的MS Access的方法。我需要能够在VBA代码中使用日期: 2010-05-31T06:00:00。此外,我需要能够把10年5月31日早上6:00至晚上放在其他格式
Q2
我保存日期&时间NoSQL
数据库(例如火力地堡),也将检索数据和时间戳。因此需要一个在Access数据时间数据类型和ISO 8601日期之间来回转换的函数。
答
创建一个模块并粘贴下面的代码。这些功能则可以在任何形式叫做/模块
'ISO to Access
Public Function DtIsoToAccess(myisodate as String) as date
DtIsotoaccess=cdate(Replace(myisodate, "T"," "))
End function
'Access to ISO
Public Function DtAccessToIso(myaccdate as Date) as string
DtAccessToIso= format(myaccdate, "yyyy-mm-dd\Thh:nn:ss")
End function
+1
请注意,此代码不考虑'2017-11-13T21:42:30.000 + 03:00'('+03:00')中的'TZD'(时区指示符)。请参阅https://www.w3.org/TR/NOTE-datetime。 – paulroho
这种自我回答问题会更适合[文件](http://stackoverflow.com/documentation/vba/topics) – litelite
我希望这可以帮助用户搜索答案(就像我一样)。但似乎SO用户不喜欢它。 –
@litelite,文档仍处于测试阶段。 –