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

使用DirectoryPress插件时WordPress列表发布时间显示负数秒问题

问题:DirectoryPress列表发布日期显示负值(秒数异常)

在WordPress中使用DirectoryPress插件时,用户添加列表后,发布日期的秒数显示为负值,问题截图如下:
问题截图

当前使用的代码片段:

$time = strtotime( $listing->post->post_date );
echo '<div class="publish_date">'.directorypress_time_ago($time).'</div>';

可能的原因

  • 时区配置不匹配:WordPress默认将post_date存储为UTC时间,若服务器本地时区与WordPress后台设置的时区不一致,strtotime()会错误地将UTC时间按本地时区解析,生成的时间戳可能晚于当前实际时间,导致directorypress_time_ago()计算时间差时出现负值。
  • directorypress_time_ago函数逻辑缺陷:该函数内部可能错误地用传入的时间戳减去当前时间戳(正确逻辑应为当前时间戳减去发布时间戳),直接导致时间差为负;或者处理时间单位转换时存在溢出、取反错误。
  • 服务器系统时间异常:若服务器本地时间比实际时间滞后,当前时间戳会小于$listing->post->post_date转换后的时间戳,计算出的时间差自然为负。
  • 时间格式解析错误:如果$listing->post->post_date的格式不符合strtotime()的可解析标准(比如包含特殊字符、格式混乱),可能返回无效的时间戳(如未来的某个错误时间),进而引发负值问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 11:15:58