为了记录日志,一个R脚本如何获取当前日期和时间(UTC时区),并以ISO 8601格式的字符串呈现,格式如下:
2015-12-31T14:26:56.600374+00:00
as.POSIXlt
似乎是解决方案,文档声称它接受一个格式参数,但我无法使其在R版本3.1.3上工作:
> as.POSIXlt(Sys.time(), "UTC", "%Y-%m-%dT%H:%M:%S")
[1] "2015-04-08 14:37:58 UTC"
> as.POSIXlt(Sys.time(), tz="UTC", format="%Y-%m-%dT%H:%M:%S")
[1] "2015-04-08 14:38:02 UTC"
> as.POSIXct(Sys.time(), tz="UTC", format="%Y-%m-%dT%H:%M:%S")
[1] "2015-04-08 11:38:22 BRT"
as.POSIXlt.POSIXct
函数的 "..." 参数进行匹配。然后它基本上忽略了它。它不会传递给内部函数。 - IRTFM"%Y-%m-%dT%H:%M:%S%z"
似乎介于基本和扩展的 ISO 格式之间。日期和时间部分有标点符号,但时区偏移量没有。这被 SQL Server 拒绝作为datetimeoffset
数据类型的有效日期/时间。在这种情况下,建议使用正则表达式替换将冒号添加到偏移量中。我希望能够得到一个有效的示例。 - sch56sub('(+[0-9]{2})([0-9]{2}$)','\\1:\\2', x , fixed=FALSE)
- sch56