r
  • timezone
  • 2017-07-19 66 views 3 likes 
    3

    我是R新手,无法转换日期。考虑以下几点:R:如何将日期转换为不同语言的%b

    > A <- '30-Abr-17' #Portuguese 
    > B <- '30-Apr-17' #English 
    > as.POSIXct(A, '%d-%b-%y', tz = '') 
    [1] "2017-04-30 -03" 
    > as.POSIXct(B, '%d-%b-%y', tz = '') 
    [1] NA 
    

    当我使用

    tz = '' 
    

    它使用我的时区是:

    > Sys.timezone() 
    [1] "America/Sao_Paulo" 
    

    我想是这样的:

    as.POSIXct(B, '%d-%b-%y', tz = 'America/New_York') 
    [1] NA 
    

    但它仍然不工作。任何见解?

    谢谢。

    回答

    5

    ?as.POSIXct给出:

    如果指定格式,请记住某些格式的 规范是特定于语言环境,你可能需要通过Sys.setlocale设置适当的 LC_TIME类别。这通常是 影响%b,%B(月份名称)和%p(AM/PM)的使用。

    尝试使用%b之前致电Sys.setlocale()

    +0

    非常感谢。我添加了Sys.setlocale(“LC_TIME”,'us'),然后回到Sys.setlocale(“LC_TIME”,“”)。它工作正常。 –

    相关问题