数字に変換したい日付文字列があります。文字列は次のようになります
Dienstag, 30. Oktober 2012
そして私が使おうとしていたコード
date('Y.m.d' , strtotime($str[4]));
毎回返す1970.01.01
これは、現在のロケール セット http://php.net/manual/bg/function.setlocale.phpを変更することで作成でき ます。ソースの日付形式がわかっている場合は、http://bg2.php.net/ をそのまま使用することもできます。 date_create_from_format
同じ質問strtotime With Different Languagesに関する詳細は次のとおりです。
strtotime
英語の文字列を取ります。可能な日付/時刻形式を調べる
strtotime() を使用して日付をタイムスタンプに変換します
$ts = strtotime('2007 年 12 月 21 日'); echo date('Ymd', $ts);
<?php
setlocale(LC_ALL, 'fr_FR');
$str= 'Dienstag, 30. Oktober 2012';
echo date('Y.m.d' , strtotime($str[4]));
?>