先确定一个明确时刻
#转换时间时,普通日期记得带上时区,例如 Z 或 +08:00。数字默认按位数识别秒和毫秒;早期毫秒时间戳或较大的秒时间戳,直接选择明确单位,避免歧义。结果时区可填写固定 UTC 偏移,格式 ±HH:MM,范围 -12:00 至 +14:00,支持 +05:30、+05:45 等分钟偏移。默认 +08:00,UTC 结果始终保留;选择只影响结果日期显示,不改变秒/毫秒时间戳或输入日期自带时区的含义,不自动处理夏令时。若结果日期超出公元 0000 至 9999 年,会提示调整偏移。「当前时间」仍按所选秒/毫秒单位填入,并沿用结果偏移。
单条转换、批量、时间间隔和城市对照的输入彼此独立。先确定自己要处理一个时刻、一份时间清单,还是两个时刻的差;修改一个区块不会替其他区块填入参数。本文的完整报告示例都是公开工具的独立示例,不是任何人的浏览器资料。
同一时刻,按城市规则对照
#展开「城市时区对照」,输入秒、毫秒或带时区的 RFC 3339 明确时刻,每行填写一个 IANA 名称,例如 Asia/Shanghai、Europe/London、America/New_York 或 Asia/Kathmandu。服务器按该日期的规则计算当地时间、UTC 偏移与缩写,包含夏令时。固定 UTC 偏移转换不自动套用这些规则,两种方式各自独立。
启用脚本后,可点击「当前时刻」填入当前 UTC 时刻,或用「1 月示例」「7 月示例」分别填入 2026-01-15T12:00:00Z 与 2026-07-15T12:00:00Z。按钮只修改本页时刻,保留已填写的城市列表、数字单位与报告格式,日期输入仍按自身时区解析;不会自动计算或新增浏览器资料。焦点回到时刻输入,仍需点击「对照城市时间」提交。手动修改后会清除填入提示。
填入会收起旧结果并中止本页对旧请求的等待,迟到响应不会重新显示。无脚本时这组按钮隐藏,原生表单仍可填写提交。从工具箱的「常见任务直达」选择「对照不同城市的同一时刻」,可进入城市对照区,输入保持空白,不自动填入当前时刻或发送计算请求。
「加入常见时区」提供 UTC 与上海、东京、首尔、新加坡、加尔各答、加德满都、迪拜、伦敦、巴黎、纽约、洛杉矶、悉尼、奥克兰的标识。先选择,再点击「加入列表」,只在当前原文末尾补一行,不改变时刻、单位或报告格式;选择本身不会使当前结果失效,也不发送请求。实际加入后旧结果失效,仍需明确计算。
如果已有相同标识(忽略首尾空白和大小写),或加入后会超过 12 个非空行、2 KB,显示提示并保留原文与现有结果;不会整理、移除未知项或改写其他重复行,不同别名仍视为不同标识。焦点回到列表,实际加入时光标在末尾;也可始终手动填写任意服务端支持的 IANA 名称。关闭脚本时选择区隐藏,原生输入和提交保留。
城市列表最多 12 个非空行、2 KB,按 LF 后的 UTF-8 字节数计。报告保留原始行号、输入顺序和重复行;未知名称独立报错,不影响其余行。文本或 TOML 都注明服务器 tzdata 版本。下面是 2026-07-15T12:00:00Z 对照上海、伦敦与纽约的 TOML 报告,生成时使用 2026e;规则更新后结果可能变化,历史资料也以数据库记录为准。
输入需要明确时区,不猜测没有偏移的当地日期,也不接受闰秒;小数秒最多 9 位,超出精度先明确调整。夏令时跳时期间,有些当地钟表时间不存在;回拨期间,同样的 01:30 可能属于两个不同时刻。例如纽约 2026-11-01T01:30:00-04:00 与 2026-11-01T01:30:00-05:00 相差一小时;携带偏移能明确要比较哪一次。极端年份边界可能超出城市转换的支持范围,此时会返回错误。
代码示例 · 31 行
format_version = 1
kind = "city-timezones"
tzdata_version = "2026e"
utc = "2026-07-15T12:00:00+00:00"
total = 3
succeeded = 3
failed = 0
[[rows]]
line = 1
zone = "Asia/Shanghai"
success = true
local_time = "2026-07-15T20:00:00"
utc_offset = "+08:00"
abbreviation = "CST"
[[rows]]
line = 2
zone = "Europe/London"
success = true
local_time = "2026-07-15T13:00:00"
utc_offset = "+01:00"
abbreviation = "BST"
[[rows]]
line = 3
zone = "America/New_York"
success = true
local_time = "2026-07-15T08:00:00"
utc_offset = "-04:00"
abbreviation = "EDT"
批量逐行转换并核对错误
#时间戳工具可展开「批量转换时间戳」,每行输入一个秒或毫秒时间戳,或带时区的 RFC 3339 日期。最多 100 个非空行、10 KB,按统一为 LF 后的 UTF-8 字节数计算;每行最多 100 字节。空白行跳过,报告行号对应原始输入,重复行保留。为本批次选择统一数字单位与固定结果偏移;自动识别、年份范围及夏令时规则沿用单条转换,两个转换区的参数各自独立。
点击「生成批量报告」才向本站提交,逐行显示转换结果或失败原因;一个错误不会中断其他行,报告注明成功和失败数量,全失败也会明确标明。启用脚本可复制或下载完整报告,修改本批次输入或参数后旧结果失效;关闭脚本可提交并查看纯文本报告。单条「当前时间」只操作单条区,不会填入或提交批量内容。
批量时间转换的「报告格式」默认阅读文本,也可选择 TOML 结构化报告。TOML 包含 format_version = 1、数字单位 unit、固定偏移 display_offset、total/succeeded/failed 统计和 [[rows]] 数组。每项保留原始行号 line 与 success 状态;成功项提供整数 seconds/milliseconds、UTC 日期 utc 与目标日期 display_time,失败项只有错误原因 error,不填伪造的数值,不包含原始输入。
批量输入区会在本机实时显示非空行数与 LF 换行后的 UTF-8 字节数,并提示 100 行或 10 KB 超限。空白行跳过,重复时间分别计数;单行超过 100 字节会另作提示,整批在限内时,该行在报告中失败,其余行仍可继续转换。统计用于核对清单规模,不校验时间格式。文件只预览尚未载入时不计入当前统计;明确载入、撤销和页面恢复后会更新数字。统计不发送文字,点击生成报告才提交输入。
代码示例 · 27 行
format_version = 1
unit = "milliseconds"
display_offset = "+05:45"
total = 3
succeeded = 2
failed = 1
[[rows]]
line = 1
success = true
seconds = -1
milliseconds = -1
utc = "1969-12-31T23:59:59.999+00:00"
display_time = "1970-01-01T05:44:59.999+05:45"
[[rows]]
line = 3
success = false
error = "无法识别。请输入秒或毫秒时间戳,或带时区的 RFC 3339 日期;支持公元 0000 至 9999 年。"
[[rows]]
line = 4
success = true
seconds = 0
milliseconds = 0
utc = "1970-01-01T00:00:00+00:00"
display_time = "1970-01-01T05:45:00+05:45"
先在本机查看时间文件
#启用脚本时,批量转换区还可展开「从时间清单文件载入」。文件限 UTF-8、10 KB、100 个非空行,按整行作为一个时间,不解析 CSV 列;重复行和空白行位置保留,转换报告仍按原始行号显示。选择文件只在浏览器读取,先查看再明确载入,可取消;编码、大小或行数超限时输入框保持原样。载入会去除 UTF-8 BOM、统一 LF 换行,保留本批次单位和时区,也不改变单条转换区。
载入不会自动生成报告;点击提交才发送当前输入。「撤销本次载入」仅在输入框仍等于载入文本时可用,后续修改不会被覆盖。「下载当前输入」保存 home-timestamp-batch-input.txt,只包含输入框当前文字,不包含待载入的文件预览或转换结果,下载不触发转换。关闭脚本时仍可手动粘贴并提交批量转换。
选择文件、预览、载入、撤销和下载当前输入都不会自动计算;明确点击生成报告后,才把当前输入提交本站。文件预览与输入框是两份状态,尚未载入的预览不会混入下载或报告。
打开批量转换与文件载入 →比较两个时刻的实际间隔
#时间戳工具还可展开「比较两个时间的间隔」:分别填写开始和结束时间,可混用数字时间戳与带时区的 RFC 3339 日期;两个数字共用所选秒、毫秒或自动识别单位,日期按自身偏移解析。结果为结束减开始,显示带正负号的总秒数、总毫秒数和天时分秒分解;小数秒最多保留 9 位,输入超过此精度时拒绝,不使用浮点数或四舍五入。比如 -1 毫秒到 0 毫秒相差 +0.001 秒,不同偏移表示的同一时刻相差 0。一天按 24 小时分解,区别于日历日期数量,不自动套用夏令时;暂不支持闰秒。每个输入最多 100 个 UTF-8 字节,只在提交时发送,修改任一输入或单位后旧结果失效;关闭脚本仍可原生提交。
启用脚本时,时间间隔区可「填入示例」或「交换时间」,只修改本页的两个输入,保留数字单位和报告格式,不影响单条与批量转换区,也不自动计算。示例开始为 2026-11-03T08:00:00+08:00、结束为 2026-11-04T01:30:00Z,实际相差 25 小时 30 分钟;交换后再计算可查看反向差值。填入或交换会清除旧结果并中止本页对旧计算的等待,迟到响应不会重新显示;两个输入文字完全相同时,交换不修改输入或当前结果。填入示例后焦点移到开始时间,便于继续编辑。
时间间隔的「报告格式」默认阅读文本,也可选择 TOML 结构化报告,启用脚本可复制或下载 home-timestamp-interval.toml;关闭脚本仍可选择 TOML 并提交。切换格式会清除旧结果,不自动重新计算。报告包含 format_version = 1、kind = time-interval、数字单位 unit、规范化 UTC 开始与结束时间 start_utc/end_utc。whole_seconds 是向零截取的带符号整秒,subsecond_nanoseconds 是带符号的剩余纳秒,完整差值等于 whole_seconds × 1000000000 + subsecond_nanoseconds。total_nanoseconds 使用十进制字符串,避免大跨度超过 TOML 64 位整数范围;不使用浮点数。sign 为 -1、0 或 1,absolute 表内天、时、分、秒、纳秒均为绝对值,一天按 24 小时分解。下方 time-interval 示例由开始 1970-01-01T00:00:00.000000001Z、结束 1970-01-01T00:00:00Z 生成,差值为 -1 纳秒,整秒为 0、剩余纳秒为 -1。
代码示例 · 16 行
format_version = 1
kind = "time-interval"
unit = "auto"
start_utc = "1970-01-01T00:00:00.000000001+00:00"
end_utc = "1970-01-01T00:00:00+00:00"
sign = -1
whole_seconds = 0
subsecond_nanoseconds = -1
total_nanoseconds = "-1"
[absolute]
days = 0
hours = 0
minutes = 0
seconds = 0
nanoseconds = 1
直达区块,保存输入或结果
#从指南或其他入口打开带 #interval 的时间间隔链接、带 #batch 的批量转换链接时,启用脚本会自动展开对应工具区;同一工具页中切换直达位置,或手动折叠后再次点击同一位置链接,也会打开目标区。只展开目标及其所属折叠层,不关闭其他已展开工具区,不自动计算。同页定位保留当前输入、单位和报告格式,不额外发送请求或保存偏好;未知或无效片段不展开其他区域。没有指定折叠区时保持原始状态,关闭脚本仍可手动展开并提交。
城市对照的 #city-timezones 同样是工具区块直达链接;启用脚本会展开目标区,关闭脚本可手动展开。本文每节的工具链接都只带区块位置,不携带输入、结果或本机偏好。
四个计算区都在明确提交后由本站 Rust 处理。城市对照不把输入保存到浏览器资料或内容库,计算只读取服务器 IANA 规则;报告标明规则版本,不依赖浏览器默认时区。启用脚本时可复制、下载当前成功结果;城市对照、批量和间隔可选择文本或 TOML,切换格式或修改输入后需要重新计算。关闭脚本仍可通过原生表单提交。
综合参考原有的日期与时间章节、代码示例和工具入口继续保留。需要按日历自然日或周一至周五数量推算时,请使用日期工具;时间间隔按实际时刻计算,一天按 24 小时分解,不等于带节假日的日程安排。