
wp_date使用真实Unix时间戳,再按时区及语言格式显示。若把已加过偏移的数值再次传入,会产生重复偏移;本地化应改变展示格式和文字,不应随意改变同一事件的真实发生时间。
把存储时间与显示时间分开
记录数据来源给的是Unix时间戳、带时区字符串还是没有时区的本地时间。三种形式不能直接互换。先明确事件时点,再转换显示;不要为了让英文页面看起来正确而直接给数据库数值加减若干小时。
按函数定义传入真实时间戳
WordPress文档区分wp_date与某些历史日期函数的处理习惯。代码迁移时应检查原逻辑是否已经加入站点偏移,而不只替换函数名。若输入本来是本地字符串,应使用明确时区解析,避免默认服务器时区参与猜测。

分别决定语言格式和时区
语言影响月份名称、日期排列和文字习惯,时区影响同一时点显示的钟点。英语页面可以服务不同地区,不能默认全部按美国时间。为活动或截止时间明确说明使用哪个地区时区,避免读者仅凭语言猜时间。
选择跨日样本进行回归
测试接近午夜、跨月和涉及夏令时的地区样本,并核对原始时间戳没有被修改。检查页面、邮件和导出文件采用何种时区标记。不要只用当前中午做测试,因为重复偏移可能在普通样本中不容易发现日期错误。
关键区别

时间戳:表示真实时点;不预先加本地偏移。
语言格式:决定日期文字样式;不等于时区。
显示时区:决定当地钟点;需按业务明确。
怎样确认处理到位
相同事件在各语言保持同一真实时点,跨日样本正确,页面及邮件的时区说明一致,没有重复加减偏移。
容易误判的边界
日期本地化应保留正确的输入时间语义;不能通过改站点时区掩盖错误转换,夏令时应交由可靠时区库处理。
