【问题标题】:R lubridate package date-time creation omits time at midnightR lubridate 包日期时间创建省略了午夜的时间
【发布时间】:2018-12-14 03:01:10
【问题描述】:

我正在尝试使用 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 ? 非常感谢!

【问题讨论】:

  • 有趣。看起来像包中的一个错误。值得注意的是,如果将日期连接起来,则会显示午夜时间:ymd_hms(c("2017-07-02 23:00:00", "2017-07-02 00:00:00"))
  • 这很有趣!我还在探索它。
  • 另外,我尝试在 23:59:59 创建一个日期时间,并添加 1 秒,它仍然不显示 00:00:00。 test <- ymd_hms("20180303 23:59:59") test "2018-03-03 23:59:59 UTC" test + seconds(1) "2018-03-04 UTC"

标签: r datetime lubridate


【解决方案1】:

所以我在谷歌搜索和错误尝试后得到了自己的答案:

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 as.POSIXct 是可行的。

【讨论】:

    【解决方案2】:

    打印不同,但对象仍然是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"
    

    reprex package (v0.2.0) 于 2018 年 7 月 5 日创建。

    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)
    

    【讨论】:

    • 谢谢 Colin,我必须重新措辞一下,它看起来像一个日期,但我仍然知道它是一个日期时间对象。只是它没有显示 00:00:00,但我有办法格式化结果,使其显示 00:00:00。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 2012-01-11
    • 1970-01-01
    • 2021-06-06
    相关资源
    最近更新 更多