Excel中如何将日时分秒格式的UTC时间快速转换为PST时间?
Excel 当月UTC时间转PST时间方法
假设原始日 时:分:秒格式的UTC时间存放在A1单元格,直接用公式即可完成转换,不需要额外插件。
转换公式
直接在空白单元格输入以下公式,按回车即可得到结果:
=TEXT(--LEFT(A1,FIND(" ",A1)-1)+--MID(A1,FIND(" ",A1)+1,99)-7/24,"d hh:mm:ss")
参数说明
- PST(太平洋标准时间)冬令时固定偏移为UTC-8,夏令时PDT偏移为UTC-7,你给出的示例结果对应夏令时的UTC-7偏移,如果需要按冬令时标准PST计算,把公式里的
7改成8即可。 - 公式里
"d hh:mm:ss"是24小时制的输出格式,会输出12 22:58:57;如果需要匹配你示例里的12小时制显示(22点显示为10点),把格式代码改成"d h:mm:ss AM/PM"即可,输出结果为12 10:58:57 PM,和你给出的预期值完全匹配。
计算逻辑
- 先用
FIND(" ",A1)定位原始文本里空格的位置,拆分出空格前的当月日期、空格后的时分秒文本,再通过--把文本转为Excel可计算的数值:Excel里1代表1个自然日,1小时对应1/24,日期是数值的整数部分,时分秒是数值的小数部分。 - 减去对应时差的数值:7小时对应
7/24,8小时对应8/24。 - 最后用
TEXT函数把计算结果格式化为你需要的日 时:分:秒样式。
示例校验
代入你给出的测试值13 05:58:57:
- 拆分得到日期13,时间05:58:57,合计序列值为
13 + 5/24 + 58/(24*60) + 57/(24*60*60) ≈13.2493 - 减去7小时的偏移值
7/24≈0.2917,得到结果序列值≈12.9576 - 格式化后整数部分12为当月日期,小数部分对应22:58:57,和预期结果一致。
注意事项
- 如果原始时间是当月1日的早7点前,减去7/8小时后日期会小于1,落到上月,如果你需要日期始终显示当月值,可以结合
EOMONTH函数获取上月天数做补正,日常同月份内转换不需要额外处理。 - 如果需要自动适配夏令时/冬令时切换,可以在公式里加日期判断匹配每年的切换规则,固定时段转换直接用固定偏移即可。
内容的提问来源于stack exchange,提问作者user145416
相关产品推荐
相关产品推荐

