次の時間形式があります:15/08/2011 12:32:23
日/月/年 時:分:秒 そして、次の形式に変換したい: Ymd H:i:s
で試しましdate('Y-m-d H:i:s', strtotime($time))
たが、うまくいきません。文字列からdatenumに変換するときに月と日を入れ替えます。
次の時間形式があります:15/08/2011 12:32:23
日/月/年 時:分:秒 そして、次の形式に変換したい: Ymd H:i:s
で試しましdate('Y-m-d H:i:s', strtotime($time))
たが、うまくいきません。文字列からdatenumに変換するときに月と日を入れ替えます。
strtotime
は、アメリカ ( mm/dd/YYYY
) とヨーロッパ ( ) の両方のdd-mm-YYYY or dd.mm.YYYY
形式を認識します。日、月、年を区切るためにスラッシュを使用しているため、日付はアメリカ式と解釈されます。これを解決するには、スラッシュをダッシュに置き換えます。
時間を再解析する必要があります。strtotime は、 の形式で文字列を入力しようとしていると考えて'm/d/Y H:i:s'
いますが、 を提供しています'd/m/Y H:i:s'
。
list($date, $times) = explode(' ', $time);
list($day, $month, $year) = explode('/', $date);
$newTime = date('Y-m-d H:i:s', strtotime("$month/$day/$year $times");
その場合、文字列から月と日付を非常に簡単に交換できます。
$time_string = "15/08/2011 12:32:23";
$strtotime = explode("/",$time_string);
$strtotime = implode("/",array($strtotime[1], $strtotime[0], $strtotime[2]));
echo date('Y-m-d H:i:s', strtotime($strtotime));