【问题标题】:R Converting Datetime to an actual stringR将日期时间转换为实际字符串
【发布时间】:2020-04-25 21:52:11
【问题描述】:

我正在尝试将日期时间转换为实际字符串。但是当我使用 as.character(x) 时,它会返回一个我无法转换为日期或时间的值。

例如:

当我从数据框 df 中的特定单元格中提取数据时,它返回:

> df[1,6]
# A tibble: 1 x 1
  `PLS FFM`          
  <dttm>             
1 2019-12-14 06:47:00

当我尝试将其转换为字符串时,它会返回:

> (as.character(df[1,6]))
[1] "1576306020"

但是当我尝试将字符串或 datetime() 转换为日期格式时,它会返回:

> as.Date(as.character(df[1,6]))
Error in charToDate(x) : 
  character string is not in a standard unambiguous format

我已经准备好在互联网上搜索了几个小时试图找到解决方案,但似乎我要么做错了什么,要么我真的很愚蠢。

谁能帮帮我!?

谢谢,

乔普

感谢 Ronak Shah!

在 Ronak 建议我应该使用格式转换整个向量之后,我能够将格式化的向量转换为可以在我的脚本中使用的日期 + 时间,我可以在其中对时间进行大量计算。我用过:


df$'PLS FFM' <- format(df$'PLS FFM')
df$'PLS FFM' <- as.POSIXCT(df$'PLS FFM') 

感谢罗纳克

【问题讨论】:

    标签: r date datetime time


    【解决方案1】:

    由于df[1,6] 仍然是一个小标题,使用as.character 对它不起作用。您需要将向量传递给as.character,这可以通过

    as.character(df$`PLS FFM`)
    #OR
    #as.character(df[["PLS FFM"]])
    

    我们也可以使用format

    format(df$`PLS FFM`)
    

    如果您需要数据框中的特定值,请使用

    as.character(df$`PLS FFM`[1])
    

    【讨论】:

    • 喜欢这个?格式(df$PLS FFM, "%Y/%m/%d %H:%M:%S")
    • @J.O.P.P.以我在回答中使用它的方式使用它。
    • 谢谢!但是如何将其转换回 Date (format="%Y/%m/%d %H:%M:%S") 以便我可以使用它进行计算?
    • @J.O.P.P.你想把它转换成日期还是字符?要将其转换为日期,请使用 as.Date(df$`PLS FFM`)
    • 很抱歉让你这么难受!但是,是的,我想将 df$'PLS FFM' 转换为日期(YYYY/MM/DD hh/mm/ss),所以当我运行我的脚本时,我对时间/日期进行了大量计算,它实际上可以进行计算。我尽量说清楚(对不起,我对 R 有点缺乏经验)
    猜你喜欢
    • 2015-05-20
    • 2014-02-02
    • 1970-01-01
    • 2021-09-10
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    相关资源
    最近更新 更多