Google 表格单元格中的 ISO-8601 字符串
ISO-8601 String to Date in Google Sheets cell
我的 sheet 的一列中有一堆 ISO-8601 格式的字符串。如何让 google sheets 将它们视为日期,以便我可以对它们进行数学运算(例如,两个单元格之间的分钟差异)?我只尝试了 =Date("2015-05-27T01:15:00.000Z")
但没有成功。必须有一个简单的方法来做到这一点。有什么建议吗?
试试这个
=CONCATENATE(TEXT(INDEX(SPLIT(SUBSTITUTE(A1,"Z",""),"T"),1),"yyyy-mm-dd")," ",TEXT(INDEX(SPLIT(SUBSTITUTE(A1,"Z",""),"T"),2),"hh:mm:ss"))
其中 A1 可以是带有 ISO-8601 格式字符串的单元格或字符串本身。
要获取可以使用普通数字格式设置格式的实际日期值...
=DATEVALUE(MID(A1,1,10)) + TIMEVALUE(MID(A1,12,8))
例如
A
B
1
2016-02-22T05:03:21Z
2/22/16 5:03:21 AM
- 假设时间戳为 UTC
- 忽略毫秒(尽管您可以很容易地添加)
DATEVALUE()
function turns a formatted date string into a value, and TIMEVALUE()
多次执行相同的操作。在大多数电子表格中,日期和时间由一个数字表示,其中整数部分是自 1900 年 1 月 1 日以来的天数,小数部分是作为一天的分数的时间。例如,2009 年 6 月 11 日 17:30 约为 39975.72917.
上述公式将日期部分和时间部分分别解析,然后相加。
我发现使用起来简单多了=SUM(SPLIT(A2,"TZ"))
格式化 yyyy-MM-dd HH:mm:ss.000
以再次将日期值视为 ISO-8601。
我的 sheet 的一列中有一堆 ISO-8601 格式的字符串。如何让 google sheets 将它们视为日期,以便我可以对它们进行数学运算(例如,两个单元格之间的分钟差异)?我只尝试了 =Date("2015-05-27T01:15:00.000Z")
但没有成功。必须有一个简单的方法来做到这一点。有什么建议吗?
试试这个
=CONCATENATE(TEXT(INDEX(SPLIT(SUBSTITUTE(A1,"Z",""),"T"),1),"yyyy-mm-dd")," ",TEXT(INDEX(SPLIT(SUBSTITUTE(A1,"Z",""),"T"),2),"hh:mm:ss"))
其中 A1 可以是带有 ISO-8601 格式字符串的单元格或字符串本身。
要获取可以使用普通数字格式设置格式的实际日期值...
=DATEVALUE(MID(A1,1,10)) + TIMEVALUE(MID(A1,12,8))
例如
A | B | |
---|---|---|
1 | 2016-02-22T05:03:21Z | 2/22/16 5:03:21 AM |
- 假设时间戳为 UTC
- 忽略毫秒(尽管您可以很容易地添加)
DATEVALUE()
function turns a formatted date string into a value, and TIMEVALUE()
多次执行相同的操作。在大多数电子表格中,日期和时间由一个数字表示,其中整数部分是自 1900 年 1 月 1 日以来的天数,小数部分是作为一天的分数的时间。例如,2009 年 6 月 11 日 17:30 约为 39975.72917.
上述公式将日期部分和时间部分分别解析,然后相加。
我发现使用起来简单多了=SUM(SPLIT(A2,"TZ"))
格式化 yyyy-MM-dd HH:mm:ss.000
以再次将日期值视为 ISO-8601。