R lubridate package дата-время пропускает время в полночь - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь создать дату и время, используя пакет lubridate, и я пробовал следующие значения:

library(lubridate)
ymd_hms("2017-07-02 23:00:00")
[1] "2017-07-02 23:00:00 UTC"
ymd_hms("2017-07-02 00:00:00")
[1] "2017-07-02 UTC"

Похоже, что если вы введете время в полночь 00:00:00, метод ymd_hms () проигнорирует значение времени, и результат станет датой. Есть ли способ показать 00:00:00 в результате? Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Печать отличается, но объект по-прежнему POSIXct:

library(lubridate)
#> 
#> Attachement du package : 'lubridate'
#> The following object is masked from 'package:base':
#> 
#>     date
library(magrittr)

ymd_hms("2017-07-02 23:00:00")%>% 
  class()
#> [1] "POSIXct" "POSIXt"

ymd_hms("2017-07-02 00:00:00") %>% 
  class()
#> [1] "POSIXct" "POSIXt"

Создано в 2018-07-05 пакетом представ. (v0.2.0).

devtools::session_info()
#> Session info -------------------------------------------------------------
#>  setting  value                       
#>  version  R version 3.4.4 (2018-03-15)
#>  system   x86_64, darwin15.6.0        
#>  ui       X11                         
#>  language (EN)                        
#>  collate  fr_FR.UTF-8                 
#>  tz       Europe/Paris                
#>  date     2018-07-05
#> Packages -----------------------------------------------------------------
#>  package   * version date       source                          
#>  backports   1.1.2   2017-12-13 CRAN (R 3.4.3)                  
#>  base      * 3.4.4   2018-03-15 local                           
#>  compiler    3.4.4   2018-03-15 local                           
#>  datasets  * 3.4.4   2018-03-15 local                           
#>  devtools    1.13.6  2018-06-27 CRAN (R 3.4.4)                  
#>  digest      0.6.15  2018-01-28 CRAN (R 3.4.3)                  
#>  evaluate    0.10.1  2017-06-24 CRAN (R 3.4.1)                  
#>  graphics  * 3.4.4   2018-03-15 local                           
#>  grDevices * 3.4.4   2018-03-15 local                           
#>  htmltools   0.3.6   2017-04-28 CRAN (R 3.4.0)                  
#>  knitr       1.20    2018-02-20 CRAN (R 3.4.3)                  
#>  lubridate * 1.7.4   2018-04-11 CRAN (R 3.4.4)                  
#>  magrittr  * 1.5     2014-11-22 CRAN (R 3.4.0)                  
#>  memoise     1.1.0   2017-04-21 CRAN (R 3.4.0)                  
#>  methods   * 3.4.4   2018-03-15 local                           
#>  Rcpp        0.12.17 2018-05-18 CRAN (R 3.4.4)                  
#>  rmarkdown   1.10    2018-06-11 CRAN (R 3.4.4)                  
#>  rprojroot   1.3-2   2018-01-03 CRAN (R 3.4.3)                  
#>  stats     * 3.4.4   2018-03-15 local                           
#>  stringi     1.2.3   2018-06-12 CRAN (R 3.4.4)                  
#>  stringr     1.3.1   2018-05-10 CRAN (R 3.4.4)                  
#>  tools       3.4.4   2018-03-15 local                           
#>  utils     * 3.4.4   2018-03-15 local                           
#>  withr       2.1.2   2018-06-01 Github (jimhester/withr@70d6321)
#>  yaml        2.1.19  2018-05-01 CRAN (R 3.4.4)
0 голосов
/ 05 июля 2018

Итак, я только что получил свой ответ на этот вопрос после поиска в Google и ошибки:

mydates <- format(as.POSIXct("2011-01-01 00:00:00", tz = "UTC"), "%m-%d-%Y %H:%M:%S")
mydates
[1] "01-01-2011 00:00:00"
format(as.POSIXct("2011-01-01 00:00:00", tz = "UTC"), "%m-%d-%Y %H:%M:%S")
[1] "01-01-2011 00:00:00"

Кажется, что использование R Base как .POSIXct с аргументами формата работает.

...