Access数据库转换中的美国和欧洲日期/时间格式

时间:2014-02-28 10:04:45

标签: sql date datetime ms-access-2007 ms-access-2010

我目前正在努力将来自通话记录的文本文件转换为访问权限。 但是有一些问题:

  • 在文本文件中混合了2个表格
  • 日期和时间均采用美国标准,而我们在此处使用欧洲标准。

我做了什么:

  • 导入txt文件,全部为带有“,”的文本作为开始新实体的点。
  • 拆分2个表并将它们引用到彼此。

现在我只需要更改日期+时间,它在数据库中的方式(作为文本):

11/18/2013 10:28:29 AM

这是第11个月的第18个月 当将格式从文本更改为日期时,它会自动使用我的电脑中的欧洲设置来识别日期,我尝试将其格式化为美国日期,欧洲日期并将我的电脑设置为美国。如果我将我的电脑设置为美国,唯一的时间访问看到了正确的日期。 其他时候,它会尝试将所有内容都视为欧洲,这个月的12日都会被视为几个月。由于数据库的其他部分,我无法将电脑保存在美国设置上。

这是否有正常的解决方案? 目前我试图从实体中分割出日,月和年。

2013年12月6日下午3:01:42

1/8/2014 9:34:29 AM

但是你可以看到日期没有设定长度所以使用左边的功能给我带来了问题。 如果有人可以帮我解决转换问题,或者帮助我分割日期和月份,那么它将会受到影响

1 个答案:

答案 0 :(得分:0)

您可能会使用UDF:

 UPDATE aTable
 SET aTable.Newdate = BuildDate(aTable.DateString)

然后是UDF的代码

Function BuildDate(sDate)
    If Not IsNull(sDate) Then
        asdate = Split(sDate, "/")
        BuildDate = CDate(asdate(1) & "/" & asdate(0) & "/" & asdate(2))
    End If
End Function