时区转换册
来源时区到展示时区的逐步换算
保留原时间、偏移和转换后时间三个字段。 本文给出可复核步骤、状态边界、脱敏记录方法与复核路径。
将来源时间换成读者所在时区,看似只需加减小时,实际必须先知道原字符串对应哪个区域、当日偏移是否受夏令时影响、转换后是否跨日。图谱保存来源原文、时区标识、UTC偏移、标准时刻、展示区域、转换结果和规则版本,任何一步缺失都不生成本地时间,而是保留UNKNOWN。换算记录还包括输入精度、解析错误和日期星期变化,确保结果可以由另一工具复做。用户切换展示区域只改变视图,不改来源瞬间;规则库升级则生成差异报告与新版本。若来源同时给出地区和偏移却互相矛盾,两个线索并列待核,不择一填入。所有导出、缓存与分享卡都携带区域标签,避免孤立钟面被误读。读者随时可以返回来源原字符串核对。
时区换算必须能够从展示值完整重做,不能把浏览器、服务器或账户的当前区域当作来源证据。记录先保存原字符串、日期顺序、十二小时制标记、精度、明确偏移或命名区域、时区库版本与目标区域;含糊字段保留原文并返回UNKNOWN。算法先解析来源钟面并构造唯一瞬间,再转换到目标区域,同时更新日期、星期、月份、年份和排序键。固定偏移与地区时区分开,因为地区规则会随日期改变;来源给出的区域和偏移互相矛盾时建立冲突记录,不选择较顺眼的一项。重复本地时刻必须带偏移或折叠标记,不存在的时刻直接报错。页面与导出同时显示原值、规范值和区域标签,用户临时切换展示区域只改变视图,不回写来源。时区库升级若改变历史结果,应生成差异与修订事件,旧转换仍可追溯;批量失败也不得回退到运行机器的默认区域。
先完整保存来源时间字符串
录入原日期、时分秒、星期、时区缩写和页面标签,缺少部分不补零。日期只有月日时,年份UNKNOWN;只写二十时但无区域时,偏移UNKNOWN。原文一经保存不得被格式化值覆盖。
来源可能同时显示当地时间与另一地区时间,两行分别建字段并说明标签。无法判断哪行是主时间时,不选择第一行。截图、转录和采集时刻绑定同一来源号,方便后来者重读。输入精度也要原样保存:只有日期的材料不能在转换后出现分钟,未写秒的材料不能获得秒级确定性。十二小时制缺上午下午时另列歧义,不借页面访问时刻补齐。
- 原字符串永久保留
- 缺年份不补当前年
- 多时间行分别建档
- 来源号连接原始证据
区域时区优于固定缩写
CST等缩写可能指不同区域,不能单独决定偏移。资料明确给出城市或区域时,记录区域时区标识并引用来源;只有固定偏移时保存偏移,不擅自分配城市。完全缺失则停止转换。
来源页面所在服务器、域名后缀和读者位置都不是时区证明。编辑补注可以列待核候选,却不能形成值。区域映射表版本化,规则改变后重新计算并保留旧结果。
- 缩写不单独决定偏移
- 固定偏移不冒充区域
- 域名后缀不推导时区
- 映射规则带版本
转换经UTC中间值完成
源时区与日期确定后,先换算UTC,再转换目标展示区;步骤记录实际偏移和规则版本。直接在本地时间上加固定小时容易忽略夏令时。若本地时刻落在不存在或重复的一小时,算法返回歧义而不是任选一次。
标准时刻、来源偏移与展示偏移同屏,使审核者能手算复核。转换库报错、区域数据缺失或输入超范围时,结果UNKNOWN并保留错误类别。系统不使用服务器默认时区兜底。往返不变量从来源区转换到目标区后再转回,唯一瞬间和原始精度必须一致;高风险样本还用第二套时区库或手算复核,差异无法解释时保留两组结果。
- 换算经过UTC
- 记录两端实际偏移
- 歧义时刻不任选
- 服务器时区不作默认
跨日同时更新日期与星期
加减偏移可能跨越午夜、月底或年底。转换结果必须重新计算日期、星期和排序键,不能只改时分。来源星期与计算结果冲突时保留二者并标争议,不能为让日历整齐而改来源。
列表分组按展示日期时,字段卡仍显示来源日期。跨日记录不应被拆成两场比赛。日期边界测试覆盖二月、闰日、十二月末和负偏移,任何一项失败都阻断批量发布。矩阵另含半小时、四十五分钟与日界线两侧偏移,每例同时核对目标年月日、星期、排序位置和规则版本,而不只比较屏幕钟点。
- 日期星期同步换算
- 来源星期冲突保留
- 跨日不拆分比赛
- 边界测试阻断错误发布
合成算例展示完整链
训练T一的原值为二十三时三十分、区域甲,转换到区域乙后跨到次日。页面展示原值、两个偏移、UTC中间值和次日星期。区域甲没有证据时,整个转换保持UNKNOWN,不用读者浏览器猜值。
T二落在夏令时回拨的重复小时,两种可能UTC值并列,状态为歧义。直到来源提供偏移,不能选较早或较晚。合成区域和日期不进入正式赛程。测试还分别设置来源区域明确但目标区无效、来源同时写区域名与冲突偏移、规则库缺少历史记录三种失败;界面保留原值和错误阶段,不让任一候选进入日历。
- 算例显示完整换算链
- 缺源区域不计算
- 重复小时保留两种候选
- 训练时刻不进入生产
展示允许回看原值和规则
字段卡默认显示读者选择的区域,同时提供原时间展开项、转换版本与采集时间。用户切换时区只改变视图,不写回数据。未知源时区时,界面只显示原字符串和明确提示。
搜索摘要不输出无来源的本地时间,结构化数据也不生成日期。缓存键包含展示区域与规则版本,防止不同读者互相污染。用户切换区域后复制分享链接,另一设备应复现同一选择;打印页和无脚本视图仍写出区域名称与精度。移动端、CSV和日历导出分别核对区域、原始精度与转换版本,任何消费者丢失标签都停止分发。规则版本落后的缓存主动失效,不能同时显示两个星期标签。
- 视图切换不改源数据
- 原时间随时可查
- 未知时区不输出结构化日期
- 缓存区分区域版本
审核转换准确性与表述边界
审核者抽取正常、跨日、夏令时开始、回拨重复和未知区域样本,与独立工具手算对比。结果不同则冻结批次,保留两组值和规则版本。页面不得用当地开赛确定等措辞扩大来源。
图谱只解释可复做的时区换算,不保证赛程实时或准确;来源时间、区域或状态任一缺证,相关输出保持UNKNOWN。终审把解析含糊、区域冲突、无效钟面、规则库不支持和系统故障分开计数,并为每类写可重试条件。时区库升级先生成差异清单,只有得到解释的变化才能建立新转换记录,旧值与证据链继续可查。
- 五类样本独立复算,并保存输入文本、预期瞬间、输出区域、所用时区库版本与复核记录,确保同一案例可以跨版本重放
- 差异冻结批次
- 文案不作确定承诺
- 时区矩阵、往返转换与跨端输出一致


