首页 > 解决方案 > 将奇怪的格式字符日期转换为 R 中的日期

问题描述

我有一个数据集 Peil_1,其中“时间戳”列表示测量“值”的时间。

# A tibble: 175,350 x 5
   Timestamp                     Value `Quality Code` `Absolute Value` `AV Quality Code`
   <chr>                         <dbl>          <dbl>            <dbl>             <dbl>
 1 2014-11-01T00:00:00.000+01:00 0.712             10             12.4                10
 2 2014-11-01T00:15:00.000+01:00 0.712             10             12.4                10
 3 2014-11-01T00:30:00.000+01:00 0.712             10             12.4                10
 4 2014-11-01T00:45:00.000+01:00 0.712             10             12.4                10
 5 2014-11-01T01:00:00.000+01:00 0.712             10             12.4                10
 6 2014-11-01T01:15:00.000+01:00 0.712             10             12.4                10
 7 2014-11-01T01:30:00.000+01:00 0.712             10             12.4                10
 8 2014-11-01T01:45:00.000+01:00 0.713             10             12.4                10
 9 2014-11-01T02:00:00.000+01:00 0.713             10             12.4                10
10 2014-11-01T02:15:00.000+01:00 0.713             10             12.4                10
# ... with 175,340 more rows

我想将 Peil_1$timestamp 转换为时间或日期格式。我想使用 as.date,但我不知道如何处理 T00: 00: 00,000 + 1: 00 部分

标签: rdatedataframetimeas.date

解决方案


实际上as.Date似乎对我有用:

x <- "2014-11-01T00:00:00.000+01:00"
as.Date(x)

[1] "2014-11-01"

似乎as.Date只检查格式掩码是否从文本日期的左侧开始匹配,而忽略其余部分。因此,以下文本时间戳也可以转换为日期:

x <- "2014-11-01 Jon Skeet"
as.Date(x)

[1] "2014-11-01"

推荐阅读