首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示当前时间(EST)

显示当前时间(EST)
EN

Stack Overflow用户
提问于 2015-11-03 00:47:54
回答 3查看 1.9K关注 0票数 2

我创建了一个包含文本框的UserForm,它将以美国东部时间为单位显示当前时间。唯一的问题是,反映的时间当然是我们国家的当前时间,所以我想把它转换成美国东部时间,这是我们时间的- 12:00

代码语言:javascript
复制
Private Sub UserForm_Initialize()
If ActiveWorkbook.MultiUserEditing Then

End If

Application.ScreenUpdating = False
Application.DisplayAlerts = False
    txtDate.Value = Format(Now, "mm/dd/yyyy")


Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
EN

回答 3

Stack Overflow用户

发布于 2015-11-03 01:01:09

您需要像这样使用TimeValue函数:

代码语言:javascript
复制
txtDate.Value = Format(Now - TimeValue("12:00:00"), "mm/dd/yyyy")
票数 2
EN

Stack Overflow用户

发布于 2015-11-03 01:04:33

一种比R3uK更复杂的方法,但我一直更喜欢使用TimeSerial()DateSerial()来获得准确的条件设置(特别是当您需要修改多个部分的时候)。

代码语言:javascript
复制
Sub TimeToEST()

Dim ESTHour As Integer
If Hour(Now) - 12 < 0 Then
    ESTHour = 24 + Hour(Now) - 12
Else
    ESTHour = Hour(Now) - 12
End If

txtDate.Value = TimeSerial(ESTHour, Minute(Now), Second(Now))

End Sub

要在EST中仅显示当前日期:

代码语言:javascript
复制
Sub DateToEST()

Dim ESTDate As Date
If Hour(Now) < 12 And Day(Now) = 1 Then
    ESTDate = Now - TimeValue("12:00:00")
ElseIf Hour(Now) < 12 Then
    ESTDate = DateSerial(Year(Now), Month(Now), Day(Now) - 1)
Else
    ESTDate = DateSerial(Year(Now), Month(Now), Day(Now))
End If

txtDate.Value = ESTDate

End Sub
票数 2
EN

Stack Overflow用户

发布于 2017-04-16 00:58:57

如果你想在公式中使用它,那就简单多了。使用NOW()函数,然后使用TIME函数减去差值。

例如,我所在的时区比美国东部时间早9:30小时。因此,在获取EST时间时,我将使用NOW()获取我的时区中的当前日期-时间,然后使用以下公式将其减去9小时30分钟。

=NOW()-TIME(9,30,0)

享受吧!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33482717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档