PHP (Ubuntu / PHP 5.2.4) で SQL Server (MSSQL) 列をクエリすると、日付列は次のようになります。
2013 年 5 月 16 日 12:00:00:000AM
strtotime はそれらを解析しません。
これを試しました:
preg_match("/^([a-zA-Z]{3}) ([0-9]{1,2}) ([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2}):[0-9]{3}([apmAPM]{2})$/",$time_string,$regs);
$month = $regs[1];
$day = $regs[2];
$year = $regs[3];
$hour = $regs[4];
$minute = $regs[5];
$second = $regs[6];
$ampm = $regs[7];
$converted_time_string = $month." ".$day." ".$year." ".$hour.":".$minute.":".$second.$ampm;
$actual_time = strtotime($converted_time_string);
return $actual_time;
ただし、一部の日付で問題が発生しています。たとえば、次のようになります。
2013 年 8 月 1 日 12:00:00:000AM
これを行う方法について、より信頼できる提案はありますか? 現時点では、PHP のアップグレードはオプションではありません。