Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将日期转换为POSIXct_R_Date_Posixct - Fatal编程技术网

R 将日期转换为POSIXct

R 将日期转换为POSIXct,r,date,posixct,R,Date,Posixct,当转换为POSIXct时,为什么下面的日期变为“2014-07-07” Sys.setenv(TZ='America/Sao_Paulo') d <- as.Date("2014-07-08", format="%Y-%m-%d") d [1] "2014-07-08" as.POSIXct(d) [1] "2014-07-07 21:00:00 BRT" Sys.setenv(TZ='America/圣保罗') d因为as.POSIXct.Date不查找时区(如果在中指定它,则不会将其

当转换为POSIXct时,为什么下面的日期变为“2014-07-07”

Sys.setenv(TZ='America/Sao_Paulo')
d <- as.Date("2014-07-08", format="%Y-%m-%d")
d
[1] "2014-07-08"
as.POSIXct(d)
[1] "2014-07-07 21:00:00 BRT"
Sys.setenv(TZ='America/圣保罗')

d因为
as.POSIXct.Date
不查找时区(如果在
中指定它,则不会将其传递给
.POSIXct
),并且日期对象是“UTC”,因此
POSIXct
与日期对象的UTC偏移

最好直接对字符串调用
as.POSIXct
,如果可以:

> as.POSIXct("2014-07-08", format="%Y-%m-%d")
[1] "2014-07-08 BRT"

这可能与时区有关吗?如果您在调用
as.POSIXct(d,tz=“…”)
时提供了一个特定的时区,该怎么办?@初学者我想知道发生这种情况的原因,我已经有了一个解决办法。可能正因为如此(from
?as.POSIXct
):“没有时间的日期被视为UTC午夜。”fromat是什么?:)。。。或者先将日期转换为字符:
as.POSIXct(格式(d))
谢谢,Joshua。这很奇怪,有一个
(…)
参数,但它没有传递给
。POSIXct
,传递一个简单的时区参数可以解决这个问题。POSIXct(unclass(d)*86400,tz=“UTC”)
@CarlosCinelli:我不确定这能解决它,因为那是UTC午夜,而不是当地时间午夜。