Skip to content

How to transform the date format as "20050425"

4 messages · Yong Wang, Marc Schwartz, Chris Evans

#
Dear R user,
if the dates are in format as "20050425" i.e., Apr. 25 2004"
can you suggest an easy way to transfom it to standard form
as "2005-04-25" or "2004Apr25" or "2005/04/25" or any other
format which is R recognizable?
if there is no easy way to do that, can you let me know what
is the function in R performing similiar function as the "string"
function in C or some other more basic language, so I can loop
through all dates to make the desired change.
thank you
regards
#
On Mon, 2005-04-25 at 15:18 -0500, Yong Wang wrote:
If you are just formatting the Date (ie. no time component) then look
at ?as.Date, which has a format argument:
[1] "2005-04-25"

Using the format argument, you then return a standard Date class object
for use in R. The format argument varies as required for your data
format.

On the output side, there is the format() function, which has a method
for Dates, that you can then use to convert the Date class object into a
character vector:
[1] "2005-04-25"
[1] "April 25 2005"

Also see ?strftime for details on date format strings.

HTH,

Marc Schwartz
#
On 25 Apr 2005 at 15:18, Yong Wang wrote:

            
If the format really is always like that you can use this:
require(date) # gives you date handling
x <- as.character(20050425)
date <- 
mdy.date(as.numeric(substr(x,5,6)),as.numeric(substr(x,7,8)),\ 
as.numeric(substr(x,1,4)))

(You'll have to remove the line wrapping there, the "\" is where I 
put a break in!)

Good luck!

Chris
#
Ooops, ditch my clumsy suggestion. Shows what I'm learning from being 
on r-help!  Thanks Marc and everyone else!

Chris
On 25 Apr 2005 at 15:32, Marc Schwartz wrote: