找回密码
 立即注册
查看: 4753|回复: 4

R语言运行as.POSIXct命令无结果

[复制链接]
发表于 2016-12-13 00:17:06 | 显示全部楼层 |阅读模式
命令:
as.POSIXct(date(), format = "%a %b %d %H:%M:%S %Y")

我的结果如下图,但是别人却有返回结果~
q.png

这是别人的图:
QQ图片20161213001504.jpg

PS:我的环境是win 10 x64 + R-3.3.2

回复

使用道具 举报

发表于 2016-12-14 09:32:37 | 显示全部楼层
用Sys.time()函数,date()函数返回的是"Wed Dec 14 09:21:37 2016"这种类型的时间,这个估计是不能转换称UNIX时间的,所以最终结果是NA。至于别人为什么做出了结果不得而知。
回复

使用道具 举报

发表于 2016-12-14 10:13:53 | 显示全部楼层
as.POSIXct("一月 1, 2015 01:01", tz = "UTC", format = "%B %d, %Y %H:%M")
另外,大概是编码的问题,这样是可以识别的
回复

使用道具 举报

发表于 2016-12-14 10:14:21 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2016-12-16 10:12:42 | 显示全部楼层
还是诗雨 发表于 2016-12-14 10:14
见知乎https://www.zhihu.com/question/40684391

谢谢回复,已经找到方法了。原因是windows的系统语言和R的自动调用系统设置有关。
R的参数是Sys.getlocale("LC_TIME"),当它是Chinese的时候,它对%a %b这些显示的就是“周四,12月”这样的中文,是识别不了Thu这样的英文表示方式的。
改变方法是Sys.setlocale("LC_TIME","English"),把它变成英文格式就OK了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2024-11-23 00:46 , Processed in 0.028373 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表