jcrosbie
2014-Feb-06 18:24 UTC
[R] why is as.date function not working for me? (dd/mm/yyyy h:mm)
Why am I know getting hours after I convert the date? dates <- c('31/12/2013 0:00', '31/12/2013 1:00', '31/12/2013 2:00', '31/12/2013 3:00', '31/12/2013 4:00', '31/12/2013 5:00', '31/12/2013 6:00', '31/12/2013 7:00', '31/12/2013 8:00', '31/12/2013 9:00', '31/12/2013 10:00', '31/12/2013 11:00', '31/12/2013 12:00', '31/12/2013 13:00', '31/12/2013 14:00', '31/12/2013 15:00', '31/12/2013 16:00', '31/12/2013 17:00', '31/12/2013 18:00', '31/12/2013 19:00', '31/12/2013 20:00', '31/12/2013 21:00', '31/12/2013 22:00', '31/12/2013 23:00', '01/01/2014 0:00') as.Date(dates, format="%d/%m/%Y %H:%M") [1] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" [6] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" [11] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" [16] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" [21] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2014-01-01" -- View this message in context: http://r.789695.n4.nabble.com/why-is-as-date-function-not-working-for-me-dd-mm-yyyy-h-mm-tp4684874.html Sent from the R help mailing list archive at Nabble.com.
Luke Miller
2014-Feb-06 19:19 UTC
[R] why is as.date function not working for me? (dd/mm/yyyy h:mm)
as.Date produces Dates only, with no time information, even if you try to supply it with hours + minutes. For dates+times, use as.POSIXct() or as.POSIXlt() in place of as.Date(). POSIXct produces a numeric value for the number of seconds since your specified origin time (usually 1970-01-01 00:00), and POSIXlt produces a list object with individual entries for year, month, day, hour, minute etc. Be aware that time zones and daylight savings transitions may suddenly come into play. See ?DateTimeClasses for the gory details. as.POSIXct(dates, format = "%d/%m/%Y %H:%M") On Thu, Feb 6, 2014 at 10:24 AM, jcrosbie <james at crosb.ie> wrote:> Why am I know getting hours after I convert the date? > > dates <- c('31/12/2013 0:00', '31/12/2013 1:00', '31/12/2013 2:00', > '31/12/2013 3:00', '31/12/2013 4:00', '31/12/2013 5:00', '31/12/2013 > 6:00', '31/12/2013 7:00', '31/12/2013 8:00', '31/12/2013 9:00', > '31/12/2013 10:00', '31/12/2013 11:00', '31/12/2013 12:00', '31/12/2013 > 13:00', '31/12/2013 14:00', '31/12/2013 15:00', '31/12/2013 16:00', > '31/12/2013 17:00', '31/12/2013 18:00', '31/12/2013 19:00', '31/12/2013 > 20:00', '31/12/2013 21:00', '31/12/2013 22:00', '31/12/2013 23:00', > '01/01/2014 0:00') > > as.Date(dates, format="%d/%m/%Y %H:%M") > [1] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" > [6] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" > [11] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" > [16] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" > [21] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2014-01-01" > > > > > > -- > View this message in context: http://r.789695.n4.nabble.com/why-is-as-date-function-not-working-for-me-dd-mm-yyyy-h-mm-tp4684874.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
MacQueen, Don
2014-Feb-06 19:46 UTC
[R] why is as.date function not working for me? (dd/mm/yyyy h:mm)
Because a Date object represents calendar dates, and calendar dates don't have hours. Use as.POSIXct() instead of as.Date() (and spend a little more time with the documentation for as.Date) -Don -- Don MacQueen Lawrence Livermore National Laboratory 7000 East Ave., L-627 Livermore, CA 94550 925-423-1062 On 2/6/14 10:24 AM, "jcrosbie" <james at crosb.ie> wrote:>Why am I know getting hours after I convert the date? > > dates <- c('31/12/2013 0:00', '31/12/2013 1:00', '31/12/2013 2:00', >'31/12/2013 3:00', '31/12/2013 4:00', '31/12/2013 5:00', '31/12/2013 >6:00', '31/12/2013 7:00', '31/12/2013 8:00', '31/12/2013 9:00', >'31/12/2013 10:00', '31/12/2013 11:00', '31/12/2013 12:00', '31/12/2013 >13:00', '31/12/2013 14:00', '31/12/2013 15:00', '31/12/2013 16:00', >'31/12/2013 17:00', '31/12/2013 18:00', '31/12/2013 19:00', '31/12/2013 >20:00', '31/12/2013 21:00', '31/12/2013 22:00', '31/12/2013 23:00', >'01/01/2014 0:00') > >as.Date(dates, format="%d/%m/%Y %H:%M") > [1] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" > [6] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" >[11] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" >[16] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" >[21] "2013-12-31" "2013-12-31" "2013-12-31" "2013-12-31" "2014-01-01" > > > > > >-- >View this message in context: >http://r.789695.n4.nabble.com/why-is-as-date-function-not-working-for-me-d >d-mm-yyyy-h-mm-tp4684874.html >Sent from the R help mailing list archive at Nabble.com. > >______________________________________________ >R-help at r-project.org mailing list >https://stat.ethz.ch/mailman/listinfo/r-help >PLEASE do read the posting guide >http://www.R-project.org/posting-guide.html >and provide commented, minimal, self-contained, reproducible code.