You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言时间日期转换求助:数字转时间/日期时间(印度标准时间)

R语言时间日期转换解决方案(印度标准时区)

问题1:将小数转换为时间格式

该小数代表一天的时间占比(0.237314814814815即一天的23.73%),转换步骤如下:

  • 将数值乘以一天的总秒数(86400),得到当天零点起的累计秒数
  • 用as.POSIXct转换为时间对象,指定印度标准时区"Asia/Kolkata"
  • 通过format()输出HH:MM:SS AM/PM格式

代码示例:

x <- 0.237314814814815
# 转换为时间对象
time_obj <- as.POSIXct(x * 86400, origin = "1970-01-01", tz = "Asia/Kolkata")
# 格式化输出
format(time_obj, "%I:%M:%S %p")
# 输出结果:"05:41:44 AM"

问题2:将Excel日期数值转换为日期时间格式

44998.79375是Excel的日期时间格式(整数部分为日期,小数部分为时间占比),Excel因1900年闰年bug,实际日期原点对应1899-12-30,转换步骤如下:

  • 用as.POSIXct直接转换,指定origin为"1899-12-30",时区设为"Asia/Kolkata"
  • 通过format()输出DD-MM-YYYY HH:MM:SS格式

代码示例:

x <- 44998.79375
# 转换为日期时间对象
datetime_obj <- as.POSIXct(x * 86400, origin = "1899-12-30", tz = "Asia/Kolkata")
# 格式化输出
format(datetime_obj, "%d-%m-%Y %H:%M:%S")
# 输出结果:"13-03-2023 19:03:00"

内容的提问来源于stack exchange,提问作者Ismail Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 18:22:37