我很难在R data.frame中将日期时间格式"%Y-%m-%d %H:%M:%S"转换为"%Y-%m-%d %H:%M:%S.sss"?请注意,我希望秒带有小数秒。
data.frame
"%Y-%m-%d %H:%M:%S"
"%Y-%m-%d %H:%M:%S.sss"
toe950271#
我不太清楚你在问什么。你可以用"%OS3"来格式化小数秒。从?strptime开始特定于R的是" % OSn",它在输出时将秒数截断为"0〈= n〈= 6"个小数位(并且如果" %OS"后面没有数字,则它使用"getOption(" digits.secs ")"的设置,或者如果未设置,则使用"n = 0")。此外,对于"strptime"," %OS"将输入秒,包括小数秒。请注意," %S"不会读取输出中的小数部分。示例:
"%OS3"
?strptime
ss <- "2018-08-22 21:30:00.5" format(as.POSIXct(ss, format = "%Y-%m-%d %H:%M:%OS"), format = "%Y-%m-%d %H:%M:%OS3") #[1] "2018-08-22 21:30:00.500"
或者对于样本data.frame
df <- data.frame( date = c("2018-08-22 21:30:00", "2018-08-22 22:00:00", "2018-08-22 22:30:00")) transform(df, new.date = format( as.POSIXct(date, format = "%Y-%m-%d %H:%M:%OS"), format = "%Y-%m-%d %H:%M:%OS3")) # date new.date #1 2018-08-22 21:30:00 2018-08-22 21:30:00.000 #2 2018-08-22 22:00:00 2018-08-22 22:00:00.000 #3 2018-08-22 22:30:00 2018-08-22 22:30:00.000
1条答案
按热度按时间toe950271#
我不太清楚你在问什么。你可以用
"%OS3"
来格式化小数秒。从
?strptime
开始特定于R的是" % OSn",它在输出时将秒数截断为"0〈= n〈= 6"个小数位(并且如果" %OS"后面没有数字,则它使用"getOption(" digits.secs ")"的设置,或者如果未设置,则使用"n = 0")。此外,对于"strptime"," %OS"将输入秒,包括小数秒。请注意," %S"不会读取输出中的小数部分。
示例:
或者对于样本
data.frame