1

私はphpにまったく慣れていないので、この文字列をどのように変換できるか疑問に思っています:

Tue Jan 17 09:17:15 CST 2012

の MySQL 日時形式 (24 時間) に適合する形式に変換します。

01-17-2009 09:17:15

PHP Timestamp から MySQL DateTime に変換すると言われている MySQL 関数 FROM_UNIXTIME() を見つけました。私の問題は、元の文字列を正しい PHP タイムスタンプ形式にすることです。

4

3 に答える 3

2

簡単な試行:

$dt = 'Tue Jan 17 09:17:15 CST 2012';
$ts = strtotime( $dt );

echo date('Y-m-d G:i:s', $ts);

出力:2012-01-17 16:17:15

時差はタイムゾーンから来ます。私のサーバーは UTC+1 で、CST は UTC-6 です

于 2012-09-19T18:12:24.740 に答える
0

mysql 関数を使用することもできますが、タイムゾーンについてはわかりません。

select DATE_FORMAT(STR_TO_DATE('Tue Jan 17 09:17:15 CST 2012','%a %b %e %h:%i:%s CST %Y'),'%m-%d-%Y %h:%i:%s');
于 2012-09-19T18:16:13.873 に答える
0

PHP >= 5.3 を使用している場合は、\DateTime::createFromFormat を使用できます。整数の代わりに「日付」を意味するものを使用して日付を操作するため、strtotime よりもこのソリューションを好みます。

$date = \DateTime::createFromFormat('D M d h:i:s T Y',$dt);
于 2012-09-19T18:22:23.607 に答える