【问题标题】:How convert decimal to POSIX time如何将十进制转换为 POSIX 时间
【发布时间】:2013-01-23 15:50:02
【问题描述】:

我使用函数from here 计算日出和日落并返回:

         sunrise           sunset
6.49055593325792 18.2873900837081

我正在努力(尝试使用 strftime、POSIXct 或 as.Date 函数)将其转换为实时,但到目前为止没有成功。

一如既往,我们非常感谢任何建议。

【问题讨论】:

  • 6.49055593325792 18.2873900837081 到底是什么意思?小数点后的数字代表什么?
  • 你试过什么?你到底是怎么卡住的?
  • 我打赌现在是午夜过后的几个小时。我还敢打赌,作者的意思不是real 是变量类型,而是真正的人类如何读取时间。

标签: r time decimal


【解决方案1】:

@Arun 的策略有效,但这样做可能更容易:

x <- c(6.49055593325792, 18.2873900837081)
today<-as.POSIXct('2012-01-23 00:00:00 EST')
today + (3600*x)

# "2012-01-23 06:29:26 EST" "2012-01-23 18:17:14 EST"

这也会让您获得秒数。

【讨论】:

    【解决方案2】:

    首先将十进制表示转换为小时和分钟(如果我理解正确的话)

    x <- c(6.49055593325792, 18.2873900837081)
    # if 6.49 equals 6.49 hours, then do this.
    x.m <- paste(floor(x), round((x-floor(x))*60), sep=":")
    
    > x.m
    # [1] "6:29"  "18:17"
    
    > strptime(x.m, format="%H:%M")    
    # [1] "2013-01-23 06:29:00" "2013-01-23 18:17:00"
    

    【讨论】:

      【解决方案3】:

      这实际上取决于您希望在转换后对“实时”执行什么操作,但我将假设您只想从您使用的 [suncalc] 函数格式化输出以提高可读性.

      如果您只想将时间以 24 小时 / 12 小时格式显示为字符串,您可以将这些行中的任何一行添加到 [suncalc] 函数的末尾,就在 'return' 语句之前:

      # Use these two lines for 24-hour format
      sunrise <- format(as.POSIXct(sunrise*3600, origin="2001-01-01", "GMT"), "%H:%M")
      sunset <- format(as.POSIXct(sunset*3600, origin="2001-01-01", "GMT"), "%H:%M")
      
      # Use these two lines for 12-hour format (AM/PM)
      sunrise <- format(as.POSIXct(sunrise*3600, origin="2001-01-01", "GMT"), "%I:%M %p")
      sunset <- format(as.POSIXct(sunset*3600, origin="2001-01-01", "GMT"), "%I:%M %p")
      

      【讨论】:

      • 大家好,我尝试了所有的解决方案,一切都很好!但是我对 nograpes 提出的快速、简单和简单的解决方案印象深刻!我非常感谢所有的帮助者!!!Stef
      • @stefano 如果喜欢,请点击答案旁边的勾号。
      • @stefano 我认为 nog​​rapes 指的是您没有通过单击 StackOverflow 上的复选标记为您的问题选择“最佳答案”这一事实,因此他的回答并没有得到认可选择。
      猜你喜欢
      • 2015-11-21
      • 2014-03-13
      • 2016-05-09
      • 2015-03-12
      • 2017-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-13
      相关资源
      最近更新 更多