-2

mysqlデータベースに「2013年7月18日12:00」の形式で日付と時刻を文字列として保存しています。

この日付が投稿のmeta_keyである自分のウェブサイトにワードプレスを使用しています。

文字列から日付と時刻に変換する必要があります。

strtotime() 関数は、この形式では正しく機能しません。また、月と日を区別したいです。

また echo date( 'format', strtotime("18 July, 2013 12:00")、01/01/1970 の出力を試してみました

4

3 に答える 3

1

機能しない理由は、渡した形式STR_TO_DATE()が無効であるためだと思います。これを試して、

SELECT STR_TO_DATE(yourColumn, '%d %M, %Y %H:%s') newDateTime
FROM   tableName

ただし、月と日を分離したい場合、結果の値は月の文字列になります。

SELECT DATE_FORMAT((STR_TO_DATE(yourColumn, '%d %M, %Y %H:%s'), '%M') month,
       DATE(STR_TO_DATE(yourColumn, '%d %M, %Y %H:%s')) dateOnly
FROM   tableName
FROM   tableName
于 2013-07-24T09:54:40.773 に答える
0

文字列のコンマを削除すると、新しいDateTimeオブジェクトを開始できます。次の例を見てください。

$string = str_replace(',', '', '18 July 2013 12:00');
$DateTime = new DateTime($string);

print_r($DateTime);

これは出力します:

DateTime Object
(
    [date] => 2013-07-18 12:00:00
    [timezone_type] => 3
    [timezone] => Europe/Amsterdam
) 
于 2013-07-24T10:03:01.600 に答える