【问题标题】:MSAccess - Timestamp - Universal Time?MSAccess - 时间戳 - 世界时间?
【发布时间】:2013-08-19 02:38:53
【问题描述】:

我有一个在美国和印度时区共享并在本地运行的 Access 应用程序。我需要可靠地为记录更改添加时间戳。 User1 和 User2 可能会在时钟的两侧接触同一数据集中的记录。

用户将根据每个定期同步发送的时间戳从 SQL 服务器推/拉时间戳记录。我做了一个初步的函数,它简单地将 Now() 值作为时间戳,但我可以看到这将如何成为生产中的一个问题。

对处理这个时间戳有什么建议吗?

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    试试这个

    Option Compare Database
    Option Explicit
    
    Private Declare Function GetTimeZoneInformation Lib "kernel32" (lpTimeZoneInformation As TimeZoneInfo) As Long
    
    
    Private Type SystemTime
        intYear As Integer
        intMonth As Integer
        intwDayOfWeek As Integer
        intDay As Integer
        intHour As Integer
        intMinute As Integer
        intSecond As Integer
        intMilliseconds As Integer
    End Type
    
    
    Private Type TimeZoneInfo
        lngBias As Long
        intStandardName(32) As Integer
        intStandardDate As SystemTime
        intStandardBias As Long
        intDaylightName(32) As Integer
        intDaylightDate As SystemTime
        intDaylightBias As Long
    End Type
    
    Public Function GetUTCOffset() As Date
    Dim lngRet As Long
    Dim udtTZI As TimeZoneInfo
    
    lngRet = GetTimeZoneInformation(udtTZI)
    GetUTCOffset = udtTZI.lngBias / 60 / 24
    End Function
    

    我在这里找到的:

    http://www.dbforums.com/microsoft-access/1000377-now-users-using-different-time-zones.html

    【讨论】:

    • 快到了。这确实为我正确计算了 UTC 偏移量,但不适应夏令时。因此,我更正的时间戳与真正的 UTC 时间相差 1 小时。
    • 这有点让人头疼,但请尝试此处找到的解决方案:stackoverflow.com/a/130879/1504882
    • 有什么增加夏令时住宿的建议吗?
    • 好的,正在寻找...谢谢!!
    • 祝你好运!告诉我你发现了什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多