如何将数字转换为正常日期?

巴里

我有一个netcdf文件可以从中提取一些变量。提供者告诉我,时间变量(A)为以来的小时数1900-01-01 00:00:0.0我需要将此变量转换为正常日期并写入另一个txt文件。

f1 <- open.ncdf("C:\\Users\\data.nc")
# [1] "file C:\\Users\\data.nc has 3 dimensions:"
# [1] "longitude   Size: 2"
# [1] "latitude   Size: 2"
# [1] "time   Size: 2920"
# [1] "file C:\\Users\\data.nc has 5 variables:"
# [1] "short stm[longitude,latitude,time]  Longname:soil textre Missval:-32767"

时间:

A <- get.var.ncdf(nc=f1,varid="time")
head(A)
## [1] 990552 990558 990564 990570 990576 990582

另一个变量:

B1 <- get.var.ncdf(nc=f,varid="stm")
write.table(t(rbind(A,B1)),file="output.txt")

在写入文本输出文件之前,我需要您的帮助将时间变量转换为正常日期。

大卫·阿伦堡

日期

如果A是以来的小时数"1900-01-01",则将它们除以24,然后将此日期传递到origin函数内的参数中as.Date,如

A <- c(990552, 990558, 990564, 990570, 990576, 990582)
as.Date(A/24, origin = "1900-01-01")
## [1] "2013-01-01" "2013-01-01" "2013-01-01" "2013-01-01" "2013-01-02" "2013-01-02"

日期+时间

如果您还想要小时,请改用as.POSIXct3600乘以(您可能还应该在tz参数中指定时区

as.POSIXct(A*3600, origin = "1900-01-01")
## [1] "2013-01-01 02:00:00 IST" "2013-01-01 08:00:00 IST" "2013-01-01 14:00:00 IST" "2013-01-01 20:00:00 IST" "2013-01-02 02:00:00 IST" "2013-01-02 08:00:00 IST"

时区

为了知道您的时区,请输入

Sys.timezone()

有关可能的时区的完整列表,请键入

OlsonNames()

添加/删除时间

无论哪种方式,您都可以通过将小时数乘以3600并从结果中添加/删除来删除/添加小时,例如

as.POSIXct(A*3600, origin = "1900-01-01") - 2*3600

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将正常日期转换为当前时间

来自分类Dev

如何将mktime()转换为数字日期?

来自分类Dev

如何将mktime()转换为数字日期?

来自分类Dev

如何将十进制日期格式(例如2011.580)转换为正常日期格式?

来自分类Dev

如何将 CRSP 日期类型转换为正常日期类型 YYMMDD?

来自分类Dev

如何将矢量数字5位数字转换为日期格式

来自分类Dev

如何将内部数字日期转换为访问日期/时间格式?

来自分类Dev

如何将数字列(没有日历日期)转换为日期时间

来自分类Dev

如何将数字转换为字母?

来自分类Dev

如何将数字转换为文本

来自分类Dev

如何将位数转换为数字

来自分类Dev

如何将数字转换为字符?

来自分类Dev

如何将数字转换为字母?

来自分类Dev

如何将数字转换为unicode?

来自分类Dev

如何将货币转换为数字?

来自分类Dev

如何将时间转换为数字?

来自分类Dev

如何将日期转换为timeago

来自分类Dev

如何将日期转换为毫秒

来自分类Dev

如何将Unixtimestamp转换为日期

来自分类Dev

如何将日期转换为YYYYMMDD?

来自分类Dev

如何将SAS中的日期转换为YYYYMMDD数字格式

来自分类Dev

如何将数字字符串转换为日期格式

来自分类Dev

如何将BSD日期中的月份名称转换为数字?

来自分类Dev

如何将Excel日期dd / mm / yy转换为数字格式,例如01011994

来自分类Dev

如何将 Apple Mail 收到的日期、月份转换为字符串或数字?

来自分类Dev

如何将包含日期 (YYYYMMDD) 的数字变量转换为 POSIXct 格式变量

来自分类Dev

如何使用“-”将日期作为数字转换为日期

来自分类Dev

如何将非连续数字转换为连续数字?

来自分类Dev

如何将数字转换为3位数字

Related 相关文章

热门标签

归档