php - 为什么添加日期对象和时间对象会返回不正确的值?

标签 php date

这是我的代码。我添加一个日期对象和一个时间对象。但答案是返回错误的值。否则我该怎么做?

$time_obj           = mktime(23, 20, 10);
$date_obj           = mktime(0, 0, 0, 07, 09, 2013);
$new_date                   = $time_obj+$date_obj;
$date_str           = date('Y-m-d H:i:s', $new_date);
echo($date_str);

$date_str 是一个不正确的值。我该如何克服这个问题?

最佳答案

添加日期问题的一个很好的解决方案是使用精彩的 DateTime 类:

$date = new DateTime('2013-07-09');
$time = new DateInterval('P23H20M10S');
$date->add($time);

echo $date->format('Y-m-d H:i:s');

这具有将周期的概念(例如本例中的时间)与绝对日期分开的效果。您所做的本质上是将两个绝对日期相加,结果不可避免地会令人困惑。

关于php - 为什么添加日期对象和时间对象会返回不正确的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17545222/

相关文章:

php - 如何重定向带有百分比 (%) 符号的 URL?

php - 如何获取在其他页面上选择的值?

java - 从日期中删除日期名称并将其设置为仅 'yyyy-MM-dd HH:mm:ss'

android - Android 的日期类中的年份不正确

javascript - 如何使用单选按钮重定向到下一页而不使用提交按钮?

php - 我可以在 PHP 中混合使用 MySQL API 吗?

php - 在 CakePHP 旁边的子文件夹中托管 phpBB3

linux - 如何在linux shell中将4月1日转换为3月31日

java - 使用Java保存日期: This field is not a valid date

java - 时间戳 MySQL 正在减去我约会的两个小时