- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将日期和时间存储在两列中。第一个的日期为“20180831”。时间存储为从午夜开始的秒数;凌晨 3 点将存储为 10,800。
我需要一个合并的日期时间列,并且在处理一些应该很简单的事情时遇到了困难。
我可以毫无问题地获得日期,但 lubridate "hms"将时间字段解释为一个句点,而不是一个“时间”本身。
我尝试将日期转换为 posix.ct 格式,然后将其用作时间字段的原点,但 posix.ct 没有将时间设置为午夜,而是根据日期将其设置为 1800 或 1900 小时。我需要将所有行都设置为午夜,我不想要任何夏令时调整。
这是代码:
首先我做了一个函数,因为有几个日期和时间字段我必须这样做。
mkdate<-function(x){
a<-as.Date(as.character(x),format='%Y%m%d')
a<-as.POSIXct(a)
return(a)
}
df$date<-mkdate(df$date) #applies date making function to date field
df$datetime<-as.POSIXct(df$time,origin=df$date)
tz="America/Chicago"
tz="CST"
tz="UTC"
x<-c(20180831,20180710,20160511,20170105,20180101) #these are dates.
as.POSIXct(as.Date(as.character(x),format="%Y%m%d"))
[1] "2018-08-30 19:00:00 CDT" "2018-07-09 19:00:00 CDT" "2016-05-10 19:00:00 CDT" "2017-01-04 18:00:00 CST" "2017-12-31 18:00:00 CST"
Sys.getlocale("LC_TIME")
最佳答案
我相信以下可以满足您的需求。
我的语言环境如下,所以结果与你的不同。
Sys.getlocale("LC_TIME")
#[1] "Portuguese_Portugal.1252"
"POSIXct
的对象。编码为自原点以来的秒数,该原点通常是 1970-01-01 的午夜。因此,您必须将自午夜以来的秒数添加到
as.Date
的秒数中。 .
x <- "20180831"
xd <- mkdate(x)
y <- 10800
as.POSIXct(as.integer(xd) + y, origin = "1970-01-01")
#[1] "2018-08-31 04:00:00 BST"
as.POSIXct(as.integer(xd) + y, origin = "1970-01-01", tz = "America/Chicago")
#[1] "2018-08-30 22:00:00 CDT"
关于R posixct 日期和时间不以午夜为中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52297125/
我有以下一段 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
我是一名优秀的程序员,十分优秀!