【问题标题】:American and European date/time formats in Access Database conversionAccess 数据库转换中的美国和欧洲日期/时间格式
【发布时间】:2014-02-28 10:04:45
【问题描述】:

我目前正在努力从通话记录中获取一个文本文件以供访问。 但是有几个问题:

  • 2个表格在文本文件中混合在一起
  • 日期和时间采用美国标准,而我们在这里使用欧洲标准。

我做了什么:

  • 导入txt文件,全部为文本,以“,”作为开始新实体的点。
  • 拆分 2 个表并相互引用。

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

2013 年 11 月 18 日上午 10:28:29

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

这有正常的解决方案吗? 目前我正在尝试从实体中拆分日、月和年。

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

2014 年 1 月 8 日上午 9:34:29

但正如您所见,日期没有固定长度,因此使用左函数会给我带来问题。 如果有人可以帮助我解决转换问题或帮助我拆分日期和月份,将不胜感激

【问题讨论】:

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


    【解决方案1】:

    您可能会使用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 2013-04-22
      • 2018-03-03
      • 2019-04-05
      • 1970-01-01
      相关资源
      最近更新 更多