我有一個關於該date_parse_from_format()
方法的問題:date_parse_from_format到UNIX時間戳
$parsed = date_parse_from_format("Y d M H:i T", '2012 28 Nov 21:00 CET');
返回關聯數組有關給定日期的詳細信息。
這將返回一個包含某些日期信息的數組。但有什麼辦法將它轉換爲unix時間戳嗎?
我有一個關於該date_parse_from_format()
方法的問題:date_parse_from_format到UNIX時間戳
$parsed = date_parse_from_format("Y d M H:i T", '2012 28 Nov 21:00 CET');
返回關聯數組有關給定日期的詳細信息。
這將返回一個包含某些日期信息的數組。但有什麼辦法將它轉換爲unix時間戳嗎?
約翰,
繼承人如何實現mktime到您的場景中一個確切的例子:
$parsed = date_parse_from_format("Y d M H:i T", '2012 28 Nov 21:00 CET');
$new = mktime(
$parsed['hour'],
$parsed['minute'],
$parsed['second'],
$parsed['month'],
$parsed['day'],
$parsed['year']
);
echo $new; //returns: 1354136400
對於未來的參考,你可以在一個陣列上使用var_dump()
或print_r()
,看看如何訪問嵌套值。
的var_dump $解析
array (size=16)
'year' => int 2012
'month' => int 11
'day' => int 28
'hour' => int 21
'minute' => int 0
'second' => int 0
'fraction' => boolean false
'warning_count' => int 0
'warnings' =>
array (size=0)
empty
'error_count' => int 0
'errors' =>
array (size=0)
empty
'is_localtime' => boolean true
'zone_type' => int 2
'zone' => int -60
'is_dst' => boolean false
'tz_abbr' => string 'CET' (length=3)
mktime()應該完全適合您的需求:)查看http://php.net/manual/en/function.mktime.php瞭解如何使用它!
您可以通過嘗試在日期中使用mktime()來獲得UNIX時間戳。
例如:
echo mktime(12, 20, 0, 10, 4, 2012);
你會得到這樣的1349353200
輸出如果你想AM/PM只需添加12〜下午是否小時。
例如:
mktime($isAM ? $hrs : ($hrs + 12), $mins, $secs, $m, $d, $y);
,你也可以使用的strtotime():
strtotime() - 解析任何英文文本的日期時間描述爲Unix時間戳
echo strtotime("2012-11-03 11:24:00PM");
你會得到那樣的輸出1351985040
感謝提供示例 – Johan
@Johan絕對!我從自己的例子中學習...... :-P – phpisuber01