r - 日期格式的冒号,介于秒和毫秒之间。如何解析R?

标签 r datetime time-series milliseconds strptime

如何解析此日期格式?我应该将此冒号更改为点,还是应该有人知道更好的解决方案?

> x <- "2012.01.15 09:00:02:002"
> strptime(x, "%Y.%m.%d %H:%M:%S:%OS") 
[1] "2012-01-15 09:00:02"
> strptime(x, "%Y.%m.%d %H:%M:%OS")
[1] "2012-01-15 09:00:02"
> x <- "2012.01.15 09:00:02.002"
> strptime(x, "%Y.%m.%d %H:%M:%OS")
[1] "2012-01-15 09:00:02.001"

最佳答案

这里有一个微妙的区别,可能会让您失望。
?strptime所述:

for 'strptime' '%OS' will input seconds including fractional seconds.



为了强调这一点,%OS代表秒,包括分数秒---不只是秒的部分:如果秒值为44.234,则%OS%OS3代表44.234,而不是.234

因此,解决方案的确是用.代替最终的:

这是您可以执行此操作的一种方法:
x <- "2012.01.15 09:00:02:002"
strptime(gsub(":", ".", x), "%Y.%m.%d %H.%M.%OS") 

关于r - 日期格式的冒号,介于秒和毫秒之间。如何解析R?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13613655/

相关文章:

mysql - SQL 组合多个 SELECT 语句

mysql - 使用 Between 进行连接查询的限制

python - 使用日期索引从 pandas DataFrame 计算 3 个月的滚动中位数

python - Pandas Date Format 不转换日期

r - 如何在 R 中将图像上传到 SQL Server

r - 检查组中的任何日期是否在 r 中该组的特定时间间隔内

r - dplyr::row_number() 是否计算每个 obs 的行号?如果是这样,怎么办?

c# - 从 C# 中的最小值开始,获取秒数的 float

python - Keras LSTM 训练。如何调整我的输入数据?

用于提取单词和字符之间所有单词的正则表达式