如何将十进制转换为POSIX时间

ste*_*ano 3 time r decimal

我使用此处的函数来计算日出和日落,然后返回:

         sunrise           sunset
6.49055593325792 18.2873900837081
Run Code Online (Sandbox Code Playgroud)

我很努力(与尝试strftime,POSIXctas.Date功能),将其转换为实时,但至今没有成功.

一如既往,非常感谢任何建议.

nog*_*pes 14

@ 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"
Run Code Online (Sandbox Code Playgroud)

这也会让你获得秒数.


Aru*_*run 6

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

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"
Run Code Online (Sandbox Code Playgroud)