2016-08-03 70 views
1

Q1使用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日期之間來回轉換的函數。

+0

這種自我回答問題會更適合[文件](http://stackoverflow.com/documentation/vba/topics) – litelite

+1

我希望這可以幫助用戶搜索答案(就像我一樣)。但似乎SO用戶不喜歡它。 –

+0

@litelite,文檔仍處於測試階段。 –

回答

3

創建一個模塊並粘貼下面的代碼。這些功能則可以在任何形式叫做/模塊

'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