将用户输入的日期和时间更改为unix时间戳


changing user inputed date and time to a unix timestamp

我有一个用户输入,用户将时间和日期输入为"上午9:30"answers"2012年2月1日"。我正试图将其转换为unix时间戳,以帮助在将数据从数据库中拖回时进行排序,但strptime((让我感到困惑,因为我不确定这是否真的返回了我需要的unix时间戳。

您可以使用:strtotime

PHP.net示例:

echo strtotime("now"), "'n";
echo strtotime("10 September 2000"), "'n";
echo strtotime("+1 day"), "'n";
echo strtotime("+1 week"), "'n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "'n";
echo strtotime("next Thursday"), "'n";
echo strtotime("last Monday"), "'n";

使用PHP内置的DateTime类。。。

$objDate = DateTime::createFromFormat('H:ia d/m/Y', '9:30am 1/2/2012');
$timestamp = $objDate->getTimestamp();

返回Unix时间戳。

文件:

  1. PHP DateTime类

    a。日期时间::createFromFormat

    b。日期时间::getTimestamp

要添加变量,请像这样使用…

$objDate = DateTime::createFromFormat('H:ia d/m/Y', "$time $date");
$timestamp = $objDate->getTimestamp();

或者。。。

$time_date = sprintf("%s %s", $time, $date); // concatenates into a single var
$objDate = DateTime::createFromFormat('H:ia d/m/Y', $time_date);
$timestamp = $objDate->getTimestamp();

注意:确保您的变量符合以下。。。

$time=hh:mm(并附加"am"或"pm"(

$date=dd/mm/yyyy

您可以使用strtotime((

通过输入变量来调用它。

strtotime("2012年1月2日9时30分"(;

http://php.net/manual/en/function.strtotime.php

$date = DateTime::createFromFormat('H:ia d/m/Y' '9:30am 1/2/2012');
$timestamp = $date->getTimestamp();

就是你想要的。http://www.php.net/datetime