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

PHP技术问题:如何将时间戳差值转换为年末剩余天数?

计算年末剩余天数:秒数转天数及优化方案

首先,你得到的2937600是两个日期的秒数差,要转换为天数很简单,直接除以一天的总秒数(24小时×60分钟×60秒=86400秒)即可:

$date1 = date('d-m-Y');
$date2 = "2023-12-31";

$diff = strtotime($date2) - strtotime($date1);
$remainingDays = $diff / 86400;

// 如需整数天数,可使用intval()或round()处理
$remainingDaysInt = intval($remainingDays);
echo $remainingDaysInt; // 对应你的示例值会输出34

不过这里要注意一个潜在问题:strtotime()解析d-m-Y格式的日期可能出现歧义(比如部分环境会把03-04-2023识别为4月3日而非3月4日),更可靠的做法是使用PHP的DateTime类处理日期计算,彻底避免格式解析错误:

// 获取当前日期
$currentDate = new DateTime();
// 定义年末日期
$endOfYear = new DateTime('2023-12-31');

// 计算日期差
$interval = $currentDate->diff($endOfYear);
// 直接获取剩余天数
$remainingDays = $interval->days;

echo $remainingDays;

使用DateTime::diff()会返回DateInterval对象,通过->days属性就能直接拿到两个日期之间的完整天数,无需手动计算秒数,同时规避了日期格式解析的风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 00:34:53