我有一个用户输入,用户将时间和日期输入为"上午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时间戳。
文件:
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