R 如何从该字符串中检索POSIX时间戳?
我有如下字符串:R 如何从该字符串中检索POSIX时间戳?,r,posixct,R,Posixct,我有如下字符串: "{u'iso': u'2015-05-12T12:43:17.512Z', u'__type': u'Date'}" time_format_string = "{u'iso': u'%Y-%m-%dT%H:%M:%S', u'__type': u'Date'}" strptime(test_string, time_format_string) 我想把它们转换成时间。我尝试了以下方法: "{u'iso': u'2015-05-12T12:43:17.512Z', u'_
"{u'iso': u'2015-05-12T12:43:17.512Z', u'__type': u'Date'}"
time_format_string = "{u'iso': u'%Y-%m-%dT%H:%M:%S', u'__type': u'Date'}"
strptime(test_string, time_format_string)
我想把它们转换成时间。我尝试了以下方法:
"{u'iso': u'2015-05-12T12:43:17.512Z', u'__type': u'Date'}"
time_format_string = "{u'iso': u'%Y-%m-%dT%H:%M:%S', u'__type': u'Date'}"
strptime(test_string, time_format_string)
这将返回一个NA
,没有错误消息。我做错了什么?在格式字符串的秒数之后,您省略了“Z”
。但是,如果添加“Z”
,结果仍然是NA
,这可能是因为您有小数秒,并且使用“%S”
而不是“%OS”
无论如何,这是很容易避免的,因为您不需要在上次所需的组件之后在格式字符串中指定任何内容(请参阅?strtime
中的详细信息:“根据指定的格式处理每个输入字符串:忽略任何尾随字符”)
如果要保留小数秒,应使用“%OS”
而不是“%S”
。您还应该显式设置时区,以避免在计算机的本地时区中解析时间。我将时区设置为“UTC”
,因为秒后的“Z”
最有可能代表时区
time_format_string = "{u'iso': u'%Y-%m-%dT%H:%M:%OS"
strptime(test_string, time_format_string, tz="UTC")
#[1] "2015-05-12 12:43:17.512 UTC"