Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert date-time string to class Date

I have a data frame with a character column of date-times.

When I use as.Date, most of my strings are parsed correctly, except for a few instances. The example below will hopefully show you what is going on.

# my attempt to parse the string to Date -- uses the stringr package prods.all$Date2 <- as.Date(str_sub(prods.all$Date, 1,                  str_locate(prods.all$Date, " ")[1]-1),                  "%m/%d/%Y")  # grab two rows to highlight my issue temp <- prods.all[c(1925:1926), c(1,8)] temp #                    Date      Date2 # 1925  10/9/2009 0:00:00 2009-10-09 # 1926 10/15/2009 0:00:00 0200-10-15 

As you can see, the year of some of the dates is inaccurate. The pattern seems to occur when the day is double digit.

Any help you can provide will be greatly appreciated.

like image 944
Btibert3 Avatar asked Nov 30 '10 03:11

Btibert3


People also ask

How do I convert a string to a date in Salesforce?

Using Date. parse to convert a String to a Date in Salesforce The Apex Date class has a method named parse. This is probably the simplest way to convert a String to a Date in Apex.


1 Answers

The easiest way is to use lubridate:

library(lubridate) prods.all$Date2 <- mdy(prods.all$Date2) 

This function automatically returns objects of class POSIXct and will work with either factors or characters.

like image 160
hadley Avatar answered Sep 28 '22 05:09

hadley