[問題] 時間格式的賦予

作者: 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