如何在 Excel 中以用户的本地时区显示 UTC 日期时间值?

如何在 Excel 中以用户的本地时区显示 UTC 日期时间值?

我有一个包含 UTC 日期/时间值的电子表格,我想将其显示给其时区内的用户,例如,向澳大利亚和英国的用户提供包含 UTC 日期/时间值的相同电子表格,并且每个用户都应该看到转换为其当地时区的日期/时间值。

我发现了许多建议,从在公式中硬编码时间偏移(例如 B2=A1+(n/24),其中 n 是时区偏移)到在电子表格中包含夏令时变化表,但这些方法都不能允许不同时区的用户将时间视为他们的当地时间,更不用说维护最新的时区偏移和夏令时变化信息的难度了。

答案1

根据@Ramhound 的评论和我自己的研究,答案是 Excel 对时区一无所知,因此这是不可能的,尽管我还没有找到关于这方面的明确说法。

微软的这个文档页面描述了 Excel 如何表示日期,但并未提及时区,这意味着 Excel 不支持时区:

https://support.office.com/en-us/article/Change-the-date-system-format-or-two-digit-year-interpretation-aaa2159b-4ae8-4651-8bce-d4707bc9fb9f

Microsoft Office Excel 将日期存储为称为序列值的连续数字。

微软外部存在的许多部分解决方案都表明这是不可能的,例如:

https://exceljet.net/formula/convert-time-to-time-zone

如果可以使用 VB 脚本,这个问题的答案可能会有所帮助,因为它将一些 Windows 系统时区转换功能带入 Excel:

https://stackoverflow.com/questions/4896116/parsing-an-iso8601-date-time- including-timezone-in-excel

Power Query 似乎支持时区和转换,这对于需要此功能的 Excel 用户来说可能是一个选择:

https://msdn.microsoft.com/en-us/library/mt296609.aspx

答案2

不确定这是否是您想要的,单元格 B3 是您开始的时间和日期,公式将调整小时数。C3 早 4 小时,D4 晚 13 小时。

单元格 C3:=B3-(4/24)

单元格 D4:=B3+(13/24)

请注意,B3 是中午,D4 单元格是第二天凌晨 1:00。

相关内容