0

I am trying to convert a character string into a dateTime object in R

Sample data:
Actual

Following is the code that I am using for conversion

sample$Tweet_Timestamp <- lapply(sample$Tweet_Timestamp, function(x) as.POSIXct(strptime(x, "%a %b %d %H:%M:%S %z %Y")))
sample<-sample%>%unnest(Tweet_Timestamp)

The result I am getting is as follows:
Converted

Now in the result we can see that the date has converted from 18th Feb to 19th Feb. I cannot understand the reason why I am getting such result.Can someone help me decipher this?

divibisan
  • 11,659
  • 11
  • 40
  • 58

1 Answers1

0

as.POSIXct will automatically convert the date-time to the time zone of your local system. If you wish to retain the original time zone, you can do so by adding tz = "UTC" which is the defualt Universal Time.

For instance, the following code (using 1st row of your sample data):

as.POSIXct(strptime("Tue Feb 18 23:09:57 +0000 2014", "%a %b %d %H:%M:%S %z %Y", tz = "UTC"))

will produce the following output (without altering the time zone):

[1] "2014-02-18 23:09:57 UTC"
Siddharth Gosalia
  • 301
  • 1
  • 4
  • 18