美文网首页
2020-05-22 R语言中的as.Date函数

2020-05-22 R语言中的as.Date函数

作者: 王子威PtaYoth | 来源:发表于2020-05-22 17:44 被阅读0次

    as.Date()函数概括起来就是将字符串转换为规范的Date对象

    ## locale-specific version of the date
    format(Sys.Date(), "%a %b %d") 
    

    Sys.Date()是一个"Date"对象,而非字符串对象,输出:
    "2020-05-22"

    format函数将对象以指定格式输出,有点像python中占位符的概念
    format(Sys.Date(), "%a %b %d") 输出:
    "Fri May 22"

    %a 星期的缩写
    %A 星期的全称
    %b 输出月份的缩写
    %B 输出月份的全称
    %c 输出完整的时间 "Fri May 22 00:00:00 2020"
    %C 输出年份的前两位
    %y 输出年份的后两位
    %d 输出日
    %D 输出"05/22/20"

    # 获取系统区域
    lct <- Sys.getlocale("LC_TIME")
    lct # 输出 "Chinese (Simplified)_China.936"
    
    x <- c("1jan1960", "2jan1960", "31mar1960", "30jul1960")
    z <- as.Date(x, "%d%b%Y")
    z #输出NA NA NA NA
    
    # 将区域设置为C
    Sys.setlocale("LC_TIME", "C")
    
    x <- c("1jan1960", "2jan1960", "31mar1960", "30jul1960")
    z <- as.Date(x, "%d%b%Y")
    z #输出"1960-01-01" "1960-01-02" "1960-03-31" "1960-07-30"
    
    # 恢复区域设置
    Sys.setlocale("LC_TIME", lct)
    

    %Y 输出完整的年份
    %y 输出年份的后两位,比如2020年输出"20"

    ## read in date/time info in format 'm/d/y'
    dates <- c("02/27/92", "02/27/92", "01/14/92", "02/28/92", "02/01/92")
    as.Date(dates, "%m/%d/%y")
    

    as.Date函数将dates格式化为Date对象
    %m/%d/%y告诉as.Date函数输入日期的格式

    %m 数字月份 01-12
    %d 数字日期 01-31
    %y 数字年份后两位 01-99

    ## date given as number of days since 1900-01-01 (a date in 1989)
    ## 指定起始日期和天数
    as.Date(1, origin = "1900-01-01") #输出"1900-01-02"
    
    ## 时区的作用
    ## Time zone effect
    z <- ISOdate(2010, 04, 13, c(0,12)) # midnight and midday UTC
    as.Date(z) # in UTC
    ## these time zone names are common
    as.Date(z, tz = "NZ")
    as.Date(z, tz = "HST") # Hawaii
    

    相关文章

      网友评论

          本文标题:2020-05-22 R语言中的as.Date函数

          本文链接:https://www.haomeiwen.com/subject/kkqcahtx.html