我有一些约会,比如:
20 November 06:10
12 November 08:12
10 October 13:23
在过去的6个月中,现在我想要strtotime()
他们,但他们都不完整(缺少一年),如何制定一些流程以便我strtotime()
他们?
答案 0 :(得分:0)
您应该使用DateTime类及其createFromFormat和getTimeStamp方法代替strtotime。
答案 1 :(得分:0)
试试这个:
$dates = array("10 October 13:23", "12 November 08:12", "10 October 13:23");
foreach($dates as $d){
$exploded = explode(" ", $d);
$newDate = array_slice($exploded, 0,2,true)+array(2=>"2012")+array(3 => $exploded[2]);
//print_r($newDate);
$time = strtotime(implode($newDate));
echo $time."<br/>";
}
我得到的输出是:
1349868180
1352704320
1349868180
逻辑是:
你缺少这一年,所以我将日期分解成一个数组来切片,插入年份(+array(2=>"2012")
部分)并再次使用implode粘合它们,然后运行strtotime。
这项工作仅适用于今年,因此您可以使用此逻辑将年份添加到您的所有日期,或者将来绝对无法过滤不同年份的日期。
while($row = mysqli_fetch_assoc($result))
部分中,而$d
将改为$row['date']
。答案 2 :(得分:0)
print_r(date_parse_from_format("d F H:i", '20 November 06:10'));
给你:
Array
(
[year] =>
[month] => 11
[day] => 20
[hour] => 6
[minute] => 10
[second] => 0
[fraction] =>
[warning_count] => 0
[warnings] => Array
(
)
[error_count] => 0
[errors] => Array
(
)
[is_localtime] =>
)