ファイルの最初の行の日付を読み取る関数があります。この日付は、次のようにオランダ語でフォーマットされています2 mei 2013
。28 jun. 2013
日付文字列をタイムスタンプに変換する必要がありますが、何を試しても、mei
蛾や月という名前の他のオランダ語では機能しません。これが私が現在持っているコードです(元の関数はもう少しコードですが、これが間違っているところです)
function getTimestamp($date){
date_default_timezone_set('Europe/Amsterdam');
setlocale(LC_ALL, 'nl_NL');
$timestamp = strtotime($date);
return $timestamp;
}
さて、この関数を使用したときの結果は次のとおりです。
$timestamp = getTimestamp('28 jun. 2013') //1372370400
$timestamp2 = getTimestamp('2 mei 2013') // false
しかし、このコードを関数に入れると
echo strftime('%e %b %Y', 1367445600)."\n";
「2 mei 2013」と出力します
日時文字列をオランダ語でフォーマットするだけでなく、オランダ語で読み取るようにphpに指示するにはどうすればよいですか?
=======================
以下の説明のおかげで、コードが機能するようになりました(これは完全な機能です)
public function getReportDate(){
$mothsTranslated = array('mrt'=> 'mar','mei'=>'may', 'okt'=>'oct');
$content = file($this->file);
$line = $content[0];
$header = str_getcsv($line, $this->delimiter);
$date = str_replace('.', '', $header[1]);
foreach ($mothsTranslated as $dutch => $eng) {
if(strpos($date, $dutch) !== false){
$date = str_replace($dutch, $eng, $date);
}
}
$timestamp = strtotime($date);
return $timestamp;
}