rdatezero-pad

Formatting a date in R without leading zeros


Is there a way to use the format function on a date object, specifically an object of class POSIXlt, POSIXct, or Date, with the format %Y, %m, %d such that leading zeros are stripped from each of those 3 fields?

For example, I would like format(as.Date("1998-09-02"), "%Y, %m, %d") to return 1998, 9, 2 and not 1998, 09, 02.


Solution

  • Just remove the leading zeros at the end:

    gsub(" 0", " ", format(as.Date("1998-09-02"), "%Y, %m, %d"))
    ## [1] "1998, 9, 2"
    

    Use %e to obtain a leading space instead of a leading zero.