在 Google 表格中,从 =now() 中减去字符串 "YYYY-MM-DD HH:MM:SS ET"。如何将字符串转换为数字?

In Google Sheets, subtract string "YYYY-MM-DD HH:MM:SS ET" from =now(). How to convert string to number?

我们在 Google 表格中有字符串 2022-06-01 11:01:05 ET,我们正在寻找计算此字符串与 =now() 之间的差异。我们不能简单地减去单元格,因为我们不能从 number/date 中减去字符串。我们如何减去时间戳之间的差异(不仅仅是日期,hh:mm:ss 的精度会很有用。)。我们正在寻找的输出是一个表示时差的简单十进制数,我们可以根据需要将其转换为分钟或秒。

尝试:

=(NOW()*1)-(1*REGEXEXTRACT(A1, "(.*) "))

然后:

=TEXT((NOW()*1)-(1*REGEXEXTRACT(A1, "(.*) ")), "[h]:mm:ss")

请参阅我对您的原文的评论 post。但是当你写 post 时,你只需要对一个单元格执行此操作。所以假设单元格是 A2:

=NOW()-REGEXEXTRACT(A2,"(.+)\s\S+$")

... 然后将该输出的格式设置为 Duration.

理解由于NOW函数是不稳定的(不断变化的),输出也会不断变化。希望这就是您想要和期望的。

你提到:

We have the string 2022-06-01 11:01:05 ET in Google Sheets...

使用更安全:

=NOW()-REGEXEXTRACT(B1, "(.*) ")+(x/24)

(其中 x=difference in time zonesB1 是包含 sting 的单元格)

例如,如果您的 sheet 的时区是 "(GMT+00:00) 伦敦",则应调整 x因此

为什么?

Erik 和 player0 提供的两个答案都有效,前提是并且仅当你们处于同一时区

考虑到您确实提到问题中的时区是一个字符串(意思是固定的),而且 Google Sheet 在不同的时区,使用上面的公式更安全.

请看these times