- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下一段 R 代码:
formatString = "%Y-%m-%d %H:%M:%OS"
x = as.POSIXct(strptime("2013-11-23 23:10:38.000000", formatString))
y = as.POSIXct(strptime("2015-07-17 01:43:38.000000", formatString))
as.Date(y)
然后我得到
2015-07-16
(虽然它的日期晚了一天!)。显然问题是时区。所以我检查了时区:
> x
[1] "2013-11-23 23:10:38 CET"
> y
[1] "2015-07-17 01:43:38 CEST"
>
attr(y, "tzone") <- "CET"
应该做的交易。让我们试试这个:
> attr(y, "tzone") <- "CET"
> y
[1] "2015-07-17 01:43:38 CEST"
>
> formatString = "%Y-%m-%d %H:%M:%OS"
> x = as.POSIXct(strptime("2013-11-23 23:10:38.000000", formatString))
> y = as.POSIXct(strptime("2015-07-17 01:43:38.000000", formatString))
> unclass(x)
[1] 1385244638
attr(,"tzone")
[1] ""
> unclass(y)
[1] 1437090218
attr(,"tzone")
[1] ""
>
as.Date(y) == "2015-07-17"
真的? IE。如何将两者都设置为当前时区?
Sys.timezone()
结果为“NA”...(编辑:我的时区 [德国] 似乎是“CET”--> 如何将两者都设置为 CET?)
最佳答案
如果您没有指定时区,那么 R 将使用您系统的语言环境,因为 POSIXct 对象必须有一个时区。 CEST 和 CET 的区别在于,一个是夏令时,一个不是。这意味着如果您在定义为夏令时的一年中定义了一个日期,那么 R 将决定使用时区的夏令时版本。如果您想设置不使用夏令时版本的日期,则从一开始就将它们定义为 GMT。
formatString = "%Y-%m-%d %H:%M:%OS"
x = as.POSIXct(strptime("2013-11-23 23:10:38.000000", formatString), tz="GMT")
y = as.POSIXct(strptime("2015-07-17 01:43:38.000000", formatString), tz="GMT")
as.Date
在 POSIXct 对象上,因为
as.Date
旨在将字符对象转换为 Date 对象(与 POSIXct 对象不同)。如果你想用基数 R 截断 POSIXct 对象,那么你必须包装
round
或
trunc
在
as.POSIXct
但我建议查看
lubridate
用于处理日期和时间的包(特别是 POSIXct 对象)。
formatString = "%Y-%m-%d %H:%M:%OS"
x = as.POSIXct(strptime("2013-11-23 23:10:38.000000", formatString), tz="Africa/Algiers")
y = as.POSIXct(strptime("2015-07-17 01:43:38.000000", formatString), tz="Africa/Algiers")
attr(y, "tzone") <- "CET"
没有得到想要的结果。如果你这样做了
attr(y, "tzone") <- "Africa/Algiers"
那么它会按您的预期工作。但是请注意转换,因为当您更改时区时,它会更改时间以考虑新时区。包裹
lubridate
具有功能
force_tz
对于初始时区设置错误但时间正确的情况,它会更改时区而不更改时间。
关于r - 无法处理 POSIXct 时区并截断 POSIXct 对象的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31477750/
我有以下一段 R 代码: formatString = "%Y-%m-%d %H:%M:%OS" x = as.POSIXct(strptime("2013-11-23 23:10:38.000000
我在这里关注了一些有关如何将字符向量转换为日期时间类的问题。我经常看到两种方法,strptime 和 as.POSIXct/as.POSIXlt 方法。我查看了这两个函数,但不清楚它们有什么区别。 s
我很感兴趣,“ct”和“lt”(在 POSIXct 和 POSIXlt 中)的含义。它们是某种缩写吗?例如,“ct”是否表示“日历时间”,“lt”是否表示其他意思? 最佳答案 我自己正在研究这个问题,
考虑以下 POSIXct 日期列表: times <- list(as.POSIXct(c("2012-07-26 00:30", "2012-07-26 6:20",
我有一个类似 Round a POSIX date (POSIXct) with base R functionality 的问题,但我希望总是将日期四舍五入到第二天午夜(00:00:00)。 基本上
我有一个日期,我将其转换为数值,然后想转换回日期。 将日期转换为数字: date1 = as.POSIXct('2017-12-30 15:00:00') date1_num = as.numeric
查看时间格式说明符,我没有看到任何日期选项,例如 2/5/2010 (月/日/年,个位数,无前导空格)。是否有任何内置方法可以转换这种格式的日期? 最佳答案 as.POSIXct('2/5/2010'
我正在尝试解析时间字符串向量并遇到一个奇怪的错误。例如,如果我运行以下代码段,R 会按预期返回结果。 time_format="%m/%d/%Y %H:%M:%S" t_1 = "03/13/2011
我想我一定不明白 POSIXct 是如何工作的,或者什么的。据我了解,这是自纪元以来的几秒钟,纪元是标准时间,例如格林威治标准时间 1970-01-01。 我在 PST 中的 EST 中取了两个 PO
转换为 POSIXct 后,为什么下面的日期会更改为“2014-07-07”? Sys.setenv(TZ='America/Sao_Paulo') d as.POSIXct("2014-07-08
这个问题在这里已经有了答案: converting multiple date formats into one in r (2 个回答) 去年关闭。 嗨,我的数据中有多种日期格式。 如何转换为日期格
在大数据表中工作时,我在日期时间列中发现了不应该存在的 NA 值......所有这些值都应该是“2014-03-30 02:00:00”。 我做了一些试验: > as.POSIXct("2014-03
我在 R 中使用 POSIXct 管理时区时遇到问题。我设置了 TZ全局选项为 "Europe/London"但自从我们切换回格林威治标准时间以来,已经运行 as.POSIXct不再将数字向量转换回正
我正在尝试转换 yearmon日期(来自 zoo 包)到 UTC 时区中的 POSIXct。 这就是我试图做的: > as.POSIXct(as.yearmon("2010-01-01"), tz="
我将日期和时间存储在两列中。第一个的日期为“20180831”。时间存储为从午夜开始的秒数;凌晨 3 点将存储为 10,800。 我需要一个合并的日期时间列,并且在处理一些应该很简单的事情时遇到了困难
我有以下时间间隔,我想将其分成 10 个等间隔的实例。 head(data) stoptime starttime1 2014-08-19 14:52:04
这个问题已经有答案了: How R formats POSIXct with fractional seconds (2 个回答) 已关闭 10 年前。 我不确定这是否只是输出问题,但只是想检查一下。
我正在将 CSV 文件读入变量“stuff”并将第一列强制转换为 POSIXct(该列只有时间戳,格式为“2012-12-04 17:49:52”,因此效果很好). stuff[,1]<-as.POS
我有以下时间间隔,我想将其分成 10 个等间隔的实例。 head(data) stoptime starttime1 2014-08-19 14:52:04
我下载了一些气候再分析数据,花了很多时间从 grib 转换为 cdf,最后现在我成功地使其在 R 中工作。我遇到的下一个问题是时间是一个字符向量,类似于以下内容: tt =c( "200901
我是一名优秀的程序员,十分优秀!