我正在尝试将分钟添加到当前日期,但它会返回奇怪的结果
date_default_timezone_set('Asia/Karachi');
$currentDate = date("m-d-Y H:i:s");
$currentDate_timestamp = strtotime($currentDate);
$endDate_months = strtotime("+10 minutes", $currentDate_timestamp);
$packageEndDate = date("m-d-Y H:i:s", $endDate_months);
echo " <br> " . $packageEndDate . " <br> ";
echo $currentDate;
Run Code Online (Sandbox Code Playgroud)
我正在获得输出
01-01-1970 05:50:00
07-19-2013 20:25:23
Run Code Online (Sandbox Code Playgroud)
它应该回来
07-19-2013 20:35:23
07-19-2013 20:25:23
Run Code Online (Sandbox Code Playgroud)
在此之后我需要查询数据库,因此日期格式应该相同.数据库列是字符串类型.
您的代码是多余的.为什么要将时间戳格式化为字符串,然后将该字符串转换回时间戳?
尝试
$now = time();
$ten_minutes = $now + (10 * 60);
$startDate = date('m-d-Y H:i:s', $now);
$endDate = date('m-d-Y H:i:s', $ten_minutes);
Run Code Online (Sandbox Code Playgroud)
代替.
小智 5
可能最简单的方法是:
date_default_timezone_set('Asia/Baku');
$packageEndDate = date('Y-m-d H:i:s', strtotime('+10 minute'));
echo $packageEndDate;
Run Code Online (Sandbox Code Playgroud)
输出(撰写本文时我所在城市的当前时间):
2017-07-20 12:45:17
Run Code Online (Sandbox Code Playgroud)