首页 > 解决方案 > 如何将日期和 24 小时格式更改为时间点,在谷歌表格或 R 中从零开始

问题描述

这是一个谷歌表格问题:

我的电子表格中有以下时间戳:

2021-03-26 22:02:56
2021-03-26 21:02:09
2021-03-26 20:02:53
2021-03-26 19:02:04
2021-03-26 18:02:47
2021-03-26 17:01:56
2021-03-26 16:02:37
2021-03-26 15:01:47
2021-03-26 14:02:28
2021-03-26 13:01:38
2021-03-26 12:02:20
2021-03-26 11:03:01
2021-03-26 10:02:12
2021-03-26 09:02:53
2021-03-26 08:02:04
2021-03-26 07:02:44
2021-03-26 06:01:55
2021-03-26 05:02:36
2021-03-26 04:01:46
2021-03-26 03:02:28
2021-03-26 01:01:39
2021-03-26 00:03:52  

现在,它每小时有一排。我想将其转换为数据开始于 0 的 24 个时间点的时间点。这样:

0.04
0.08
0.13
0.17
0.21
0.25
0.29
0.33
0.38
0.42
0.46
0.50
0.54
0.58
0.63
0.67
0.71
0.75
0.79
0.83
0.88
0.92
0.96
1.00

其中#1 代表第 1 天,#2 代表第 2 天,依此类推。像这样的每个时间戳可能需要整整几个月,我想轻松转换它。顺便说一句-我不在乎通过 R 来做,但我不知道该怎么做,在我看来,在谷歌表格中的一个函数中我可能会解决它。

非常感谢

标签: rdatetimegoogle-sheetsgoogle-sheets-api

解决方案


首先,您发布的原始时间戳与您显示的输出顺序相反;并且您的输出不包括0.00时间戳的四舍五入2021-03-26 00:03:52,也没有一个等于 1 的条目(可能是2021-03-27 00:00:00或大约)。所以我有点困惑。

但假设你只是在帖子中犯了错误,我会提供一个解决方案。

假设您的时间戳在 A2:A 范围内,您可以将以下公式放在 B2 中,否则为空 B2:B ...

=ArrayFormula(IF(A2:A="",,A2:A-DATEVALUE("3-26-2021")))

请务必将 B 列的格式设置为仅显示两位小数:Format > Number > Number。请记住,扩展的小数点值仍将存在于“幕后”。


推荐阅读