【问题标题】:Show Current Time in Excel by Timezone按时区在 Excel 中显示当前时间
【发布时间】:2017-06-29 19:27:31
【问题描述】:

我已经搜索过所有答案或代码,我发现的任何答案或代码都相当混乱。

我希望将 excel 中的 =NOW 函数转换为不同的时区

我正在使用

=TEXT(NOW(), "hh:mm:ss AM/PM")

显示我的时区 EST

我想将其转换为另一个时区

例如太平洋标准时间。

有办法吗

=TEXT IF C1 equals PST subtract 3 from A1 <--- the current time

我想要做的是,如果一列中有字母 PST,我想通过从我的 EST 时区减去 3 小时来转换 =NOW。

对不起,如果我的问题有点令人困惑。

我知道我不是唯一一个搜索这个的人,所以一个答案会对我和未来的用户有所帮助,在此先感谢。

更新:

所以我可以使用

 =TEXT(NOW()-0.125, "hh:mm:ss AM/PM") 

减去 3 小时,但不对 2 个或更多时区进行 if 语句

【问题讨论】:

  • 时区比仅仅减去三个小时要复杂得多。您需要应对 DST 转换,如果您想支持来自世界各地的时区,那么您将无法依赖缩写。要获得真正的解决方案,您可能需要编写 VBA 脚本或编写 Excel 插件。你准备好这样做了吗?也可以使用 excel 公式解决方案,但需要导入多张时区规则和复杂的解析公式……如果您可以缩小您的要求,您可能会找到一个可接受的折衷方案,而且涉及较少。
  • ...自我注意:为时区编写一个 Excel 插件。 ;)
  • 您在六月的时区更可能是 PDT(太平洋夏令时间,UTC–7h),而不是 PST(太平洋标准时间,UTC–8h)。遗憾的是,美国没有一个州在夏季正式遵守标准时间。

标签: excel excel-formula timezone formula formulas


【解决方案1】:

如果出现夏令时怎么办。您想在 Excel 中使用 HOURS() 函数并减去每个时区所需的小时数。您还需要在计算中处理跨越午夜的问题。如果您只是想尝试一下您已经开始的内容,请查看以下链接以获取更准确的信息。

查看此链接add and subtract time in excel

试试这个:

=IF(B3="PST", =TEXT(NOW()-0.125, "hh:mm:ss AM/PM") ,=TEXT(NOW()))

【讨论】:

  • 感谢您的回复!我可以通过在时间列中放置 =TEXT(NOW()-0.125, "hh:mm:ss AM/PM") 来手动执行此操作。有没有办法添加一个 IF 语句,所以我不必手动执行它?
  • 是...=IF(cell='PST',真条件,假条件)
  • 更准确地说是这样的......=IF(B3="PST", =TEXT(NOW()-0.125, "hh:mm:ss AM/PM") ,=TEXT(现在()))
  • 这不是答案,应该是评论。
【解决方案2】:

B3 单元格中为个人尝试此formula

=TEXT(NOW()-TIME(hour,minute,second),"hh:mm:ss AM/PM")

并在B6 单元格中使用IF 声明2 个或更多时区

 =IF(B1="GST",TEXT($A$1-TIME(1,30,0),"hh:mm:ss AM/PM"),
  IF(B1="BST",TEXT($A$1-TIME(4,30,0),"hh:mm:ss AM/PM"),
  IF(B1="EST",TEXT($A$1-TIME(9,30,0),"hh:mm:ss AM/PM"),
  IF(B1="PST",TEXT($A$1-TIME(12,30,0),"hh:mm:ss AM/PM"),
  IF(B1="AST",TEXT($A$1-TIME(6,30,0),"hh:mm:ss AM/PM"),
  IF(B1="ACST",TEXT($A$1-TIME(2,30,0),"hh:mm:ss AM/PM")))))))

【讨论】:

    猜你喜欢
    • 2012-06-17
    • 2015-04-28
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 2018-12-04
    • 2012-11-28
    • 2020-06-21
    相关资源
    最近更新 更多