1

假设我们有开始日期和结束日期

 if (isset($_POST['start_date']))
    $_POST['start_date'] = gmdate('Y-m-d H:i:s', strtotime($_POST['start_date']));

 if (isset($_POST['end_date']))
    $_POST['end_date'] = gmdate('Y-m-d H:i:s', strtotime($_POST['end_date']));

会给 $_POST['end_date'] - $_POST['start_date']你以秒为单位的过期时间吗?

4

2 回答 2

3

不,要以秒为单位获取过期时间,您可以使用strtotime()

$expired = strtotime($_POST['end_date'])-strtotime($_POST['start_date']);

if (isset($_POST['start_date']))
    $_POST['start_date'] = gmdate('Y-m-d H:i:s', strtotime($_POST['start_date']));

if (isset($_POST['end_date']))
    $_POST['end_date'] = gmdate('Y-m-d H:i:s', strtotime($_POST['end_date']));

if (isset($_POST['start_date']) && isset($_POST['end_date'])) echo 'Expired time in seconds: ' . $expired;
于 2012-09-16T18:46:30.483 回答
-1

我建议您使用mktime函数从日期文字中获取 unix 时间戳,以毫秒为单位。

$startDate = mktime($hour, $minute, $second, $month, $day, $year);
$endDate = mktime($hour, $minute, $second, $month, $day, $year);

$diffInSeconds = ($endDate - $startDate) / 1000; // 1 second = 1000 miliseconds
于 2012-09-16T18:45:37.417 回答