我正在努力将字符串转换为链接到SharePoint 2013列表的表上的MS Access 2010数据宏中的日期。
这些工作正常:
FormatDateTime(Now())
FormatDateTime(Date())
FormatDateTime([SharePointModifiedDate])(其中“ SharePointModifiedDate”是包含上次修改记录日期的字段)
这些无效:
FormatDateTime('07 / 07/2017')
FormatDateTime(“ 07/07/2017”)
FormatDateTime(“ 2017/07/07”,2)
FormatDateTime(“ 2017年7月7日00:00:00”)
系统基于英国日期/时间。
您能提供的任何帮助将不胜感激。
答案 0 :(得分:1)
您可以通过多种方式指定DateTime值:
将日期用井号/井号括起来作为文字日期:
FormatDateTime(#07/07/2017#)
请注意,除非第一个数字大于12,否则它将把日期解释为mm/dd/yyyy
。强制将其解释为dd/mm/yyyy
。
为避免混淆,您可以使用ISO 8601格式指定日期,即yyyy-mm-dd
,以确保没有歧义:
FormatDateTime(#2017-07-07#)
使用DateValue
函数将字符串转换为日期:
FormatDateTime(DateValue('07/07/2017'))
同样,默认情况下,除非第一个值大于12,否则默认情况下将以mm/dd/yyyy
格式解释字符串值。
使用DateSerial
函数:
FormatDateTime(DateSerial(2017, 7, 7))
答案 1 :(得分:0)
所有尝试都是将日期转换为字符串。
但是,标题要求将字符串转换为日期,这就是 DateValue 的作用。因此:
Dim TrueDate As Date
TextDate = "25-07-2018"
TrueDate = DateValue(TextDate)
答案 2 :(得分:0)