[R-SIG-Mac] as.Date() does not work with format %B
R. Michael Weylandt
michael.weylandt at gmail.com
Sat Jun 9 13:54:23 CEST 2012
Not that this is at all likely to be helpful, but it seems to be month
dependent in my locale:
> strftime("1998-07-09", "%d %B %Y")
[1] "09 July 1998"
> as.Date("09 July 1998", "%d %B %Y")
[1] "1998-07-09"
> Sys.getlocale()
[1] "en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8"
# Now switch to france
> Sys.setlocale("LC_TIME", "fr_FR.UTF-8")
[1] "fr_FR.UTF-8"
> strftime("1998-07-09", "%d %B %Y")
[1] "09 juillet 1998"
> as.Date("09 juillet 1998", "%d %B %Y")
[1] NA
> as.Date("09 avril 1998", "%d %B %Y")
[1] "1998-04-09"
and more generally
> as.Date(strftime(paste("1998",1:12,"09", sep = "-"), "%d %B %Y"), "%d %B %Y")
[1] "1998-01-09" "1998-02-09" "1998-03-09" "1998-04-09" "1998-05-09"
[6] "1998-06-09" NA "1998-08-09" "1998-09-09" "1998-10-09"
[11] "1998-11-09" "1998-12-09"
> Sys.setlocale("LC_TIME", "en_US.UTF-8")
> sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] graphics grDevices utils datasets compiler stats methods
[8] base
other attached packages:
[1] lattice_0.20-6 ggplot2_0.9.1 quantmod_0.3-18 TTR_0.21-1
[5] xts_0.8-7 zoo_1.7-7 Defaults_1.1-1
loaded via a namespace (and not attached):
[1] colorspace_1.1-1 dichromat_1.2-4 digest_0.5.2 grid_2.15.0
[5] labeling_0.1 MASS_7.3-18 memoise_0.1 munsell_0.3
[9] plyr_1.7.1 proto_0.3-9.2 RColorBrewer_1.0-5 reshape2_1.2.1
[13] scales_0.2.1 stringr_0.6
Not sure why that would be though...
Michael
On Sat, Jun 9, 2012 at 4:17 AM, Milan Bouchet-Valat <nalimilan at club.fr> wrote:
> Hi!
>
> I currently experience a problem with my package tm.plugin.factiva on
> Macs. I need to parse a locale-dependent date string into a proper Date
> object. It works fine on Linux and Windows, but on a Mac I've tested,
> parsing dates containing the %B format (for full month name) does not
> work.
>
> It's very easy to reproduce (here in French, but it's straightforward to
> adapt it to your locale):
>
>> # Check that formatting dates works: OK
>> strftime("1998-07-09", "%d %B %Y")
> [1] "09 juillet 1998"
>> # Try to convert the same string to a date: FAIL
>> as.Date("9 juillet 1998", format="%d %B %Y")
> [1] NA
>> as.Date("09 juillet 1998", format="%d %B %Y")
> [1] NA
>
> The locale looks good:
>> Sys.getlocale()
> [1] "fr_FR.UTF-8/fr_FR.UTF-8/fr_FR.UTF-8/C/fr_FR.UTF-8/fr_FR.UTF-8"
>
> And setting LC_TIME manually does not change anything:
>> Sys.setlocale("LC_TIME", "fr_FR.UTF-8")
> [1] "fr_FR.UTF-8"
>> as.Date("9 juillet 1998", "%d %B %Y")
> [1] NA
>
> FWIW, I've also tried using strptime() instead of as.Date(), and the
> problem is the same.
>
>
> This is with R 2.15.0 on Mac OS 10.6.8.
>
>> sessionInfo()
> R version 2.15.0 (2012-03-30)
> Platform: i386-apple-darwin9.8.0/i386 (32-bit)
> locale:
> [1] fr_FR.UTF-8/fr_FR.UTF-8/fr_FR.UTF-8/C/fr_FR.UTF-8/fr_FR.UTF-8
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
>
> Any clues much appreciated! ;-)
>
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
More information about the R-SIG-Mac
mailing list