如何根据时间有条件地更改日期?时区差异?

人气:758 发布:2022-10-16 标签: google-sheets google-sheets-formula

问题描述

我使用两个函数从字符串中提取日期和时间:

数据中的原始字符串!A2: 2022-03-06T04:52:33.813Z

=LEFT(DATA!$A$2,FIND("T",DATA!$A$2)-1)将字符串重新格式化为日期:

结果: 2022-03-06

在另一个单元格中,我提取时间并将其转换为美国CT时间: =MID(DATA!$A$2,12,5)-"6:00"

结果:晚上10:52

问题:

我已经成功地减去6个小时将这个时间转换为CT,但现在每当时间是在CT下午6点或之后,日期(2022-03-06)过早地提前到第二天。在上面的示例中,因为晚上10:52在下午6点之后,所以日期应该显示为2022-03-05。

有什么方法可以检查时间是否在下午6点之后,如果是这样,将日期更正为-1天?

衷心感谢您在这方面的任何帮助。

谢谢!

推荐答案

A-

尝试,不使用任何脚本

=value(left(A1,10))+value(mid(A1,12,12))

B-

如果要减去6小时,请尝试

=value(left(A1,10))+value(mid(A1,12,12))-6/24

您将更改日期(如果有)

C-

然而,要解决该问题I have successfully subtracted 6 hours to convert this time to CT, but now whenever the time is on or after 6 PM CT, the date (2022-03-06) prematurely advances to the next day.

1-检查电子表格的时区

2-和脚本编辑器的时区。

要在脚本编辑器中执行此操作,请检查参数

单击左侧的齿轮)并检查第三个参数 返回到脚本 修改appscript.json中的时区并确保它与您的电子表格相同(例如Europe/paris)

297