[问题] 时间格式的赋予

楼主: clansoda (小笨)   2016-04-18 11:27:51
我现在有一串时间格式,他读进来是文字格式
因此我想转成时间格式,我用strptime function来告诉她要怎么读
这个时间格式像是Jan 5, 2016 这样的类型 第二个天的值会有个位数
因此我用strptime(%b %e, %Y) 但是跑出来都是NA
我换成(%b %d, %Y)跑也是一样,我的认知是%d的个位数值应该会是01 02
这样有0的格式,%e则是1-31 这样无0的格式 其他是有空白就要空白有其他符号
就要告诉R有其他符号,如-或,这样的符号。请问各位大大,我哪里写错了导致R不知道
不知道这个时间变量如何读入。
作者: HeroNoah   2016-04-18 11:48:00
strptime("Jan 5, 2016", "%b %d, %Y")strptime("Jan 5, 2016", "%b %e, %Y")R is very smart.
作者: Wush978 (拒看低质媒体)   2016-04-18 14:28:00
之后就是时区的问题囉!
楼主: clansoda (小笨)   2016-04-18 15:08:00
疴 大大我复制您的两行程式码贴上也都是NA耶http://i.imgur.com/3XBqM6y.png 这是我的萤幕截图时区会有什么样的问题吗? 我知道后面可以加TZ argument只是这个跟时区会有相关性吗? 我google没看到类似问题
作者: HeroNoah   2016-04-18 15:27:00
作者: cywhale (cywhale)   2016-04-18 15:43:00
NA because your locale, see ? strptime about %bjust look your Sys.getlocale()and do Sys.setlocale(category="LC_TIME", locale="C")and then you can get right ans of strptime(..,"%b..")
楼主: clansoda (小笨)   2016-04-18 15:56:00
so appreciate for ur help,it does work.根据上面C大的说法,难道我这个台湾时区就不能看懂英文的月的缩写吗,这样是否我每次都要重新设定时区呢?
作者: celestialgod (天)   2016-04-18 16:01:00
英文月份只有十二个 资料量不大的话 手动parse时间应该也很快
楼主: clansoda (小笨)   2016-04-18 16:51:00
是的C大,确实不耗时间,只是之前没碰过这个问题原来我们的时区不支援英文的月份缩写,所以感到有点讶异
作者: Wush978 (拒看低质媒体)   2016-04-18 18:13:00
你讲的不认得英文月份,应该是locale,你用Sys.setlocale去改一下应该就可以了时区会发生在hour <--> date的转换时,会有点问题,要检查

Links booklink

Contact Us: admin [ a t ] ucptt.com