Как перевести время в часовой пояс США в Excel VBA? - PullRequest
0 голосов
/ 24 апреля 2019

Я пишу код, который конвертирует текущее время в американское время (GMT -4).
Я не могу найти подходящее ключевое слово для этого.У меня есть код для преобразования времени в стандартное время Европы.
Может кто-нибудь подсказать правильную фразу вместо "W. Стандартное время Европы" в строке описания функции.

------ТРУНЦИРОВАННЫЙ КОД -----------

Function ConvertTime(DT As Date, Optional TZfrom As String = "Central Standard Time", _
                                 Optional TZto As String = "W. Europe Standard Time") As Date
    Dim TZones As Object
    Dim sourceTZ As Object
    Dim destTZ As Object
    Dim seconds As Single
    Dim DT_SecondsStripped As Date
    If GetOutlook Then
        'fix for ConvertTime stripping the seconds
        seconds = Second(DT) / 86400    'save the seconds as DateTime (86400 = 24*60*60)
        DT_SecondsStripped = DT - seconds
        Set TZones = oOutl.TimeZones
        Set sourceTZ = TZones.Item(TZfrom)
        Set destTZ = TZones.Item(TZto)
        ConvertTime = TZones.ConvertTime(DT_SecondsStripped, sourceTZ, destTZ) + seconds    'add the stripped seconds
    End If
End Function

Sub test_ConvertTime()
    Dim t As Date

    t = Now()
    Debug.Print t, ConvertTime(t)
'    Debug.Print t, ConvertTime(t), Format(t - ConvertTime(t), "h")
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...