date_parse_from_format()
方法について質問があります。
$parsed = date_parse_from_format("Y d M H:i T", '2012 28 Nov 21:00 CET');
指定された日付に関する詳細情報を含む連想配列を返します。
これは、日付情報を含む配列を返します。しかし、それをUNIXタイムスタンプに変換する方法はありますか?
date_parse_from_format()
方法について質問があります。
$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()
配列で、ネストされた値にアクセスする方法を確認できます。
$parsedの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()を使用してみると、UNIX タイムスタンプを取得できます。
例えば:
echo mktime(12, 20, 0, 10, 4, 2012 );
そのような出力が得られます1349353200
AM/PM が必要な場合は、PM の場合は時間に 12 を追加します。
例えば:
mktime($isAM ? $hrs : ($hrs + 12), $mins, $secs, $m, $d, $y);
また、strtotime() も使用できます。
strtotime() - 英語のテキストによる日時の説明を Unix タイムスタンプに解析する
echo strtotime("2012-11-03 11:24:00PM");
そのような出力が得られます1351985040
mktime() はあなたのニーズに完全に合うはずです :) http://php.net/manual/en/function.mktime.phpをチェックして、どのように使用できるかを確認してください!