ISO 8601 国际时间标准

type
status
date
slug
summary
tags
category
icon
password
comment
ISO 8601 是由国际标准化组织(ISO)制定的日期与时间格式标准,广泛应用于:
  • 数据交换与接口(API)
  • 数据库存储
  • 日志记录与时间戳
  • 跨时区协作
在 R 中,lubridate::ymd(), readr::parse_date(), as.POSIXct() 等函数默认支持该格式。
使用统一标准可以避免跨地区、跨系统的日期解析歧义(例如美式 MM/DD/YYYY 与欧式 DD/MM/YYYY 混淆)。

✅ 常见 ISO 8601 格式

类型
格式示例
描述
日期
2025-04-25
年-月-日
日期 + 时间
2025-04-25T14:30:00
T 是日期与时间的分隔符
UTC 时间戳
2025-04-25T14:30:00Z
Z 表示 UTC(零时区)
含时区偏移
2025-04-25T14:30:00+08:00
UTC+8,例如北京时间
💡 小贴士:
  • 建议尽量在存储和传输中使用 UTC(Z),在展示时再转换为本地时区。
  • 时区偏移格式 ±HH:MM 在跨系统解析时更安全。

🛠 R 中解析 ISO 8601 的方法


📚 readr 支持的日期时间格式代码

类型
代码
含义
示例
%Y
四位年份
2021
%y
两位年份
21
%m
数字(01–12)
2
%b
缩写英文名
Feb
%B
全称英文名
February
%d
一位或两位数字
2
%e
两位数字
02
时间
%H
24 小时制小时
13
%I
12 小时制小时
1
%p
AM/PM
pm
%M
分钟
35
%S
45
%OS
带小数的秒
45.35
%Z
时区名称
America/Chicago
%z
与 UTC 的时差
+0800
其他
%.
跳过一个非数字字符
:
%*
跳过任意数量的非数字字符

⚠ 常见坑点

  1. 省略时区信息
      • 如果缺少 Z±HH:MM,可能会被解析为本地时间而不是 UTC。
  1. 混淆分隔符
      • YYYY-MM-DDDD-MM-YYYY 容易在非标准格式中混淆,建议始终用标准 ISO 8601。
  1. 夏令时(DST)问题
      • 使用本地时区时,夏令时切换可能导致时间跳跃或重复。
Prev
为什么使用 lubridate?
Next
分类变量处理 - forcats
Loading...
Article List
Evan の Logbook
✨ Updates
🎨 Style Guide
🧠 Creative Resources
🗒️ Mind Notes
🧭 Knowbase
📘 SOPs
🩺 Medical Research
🛠️ Tech Chronicles
💰 Fortune Blueprint
📈 R Visionary
📊 Statistics
🖼️ BioVis