0

FQLを使用すると、次のように誕生日を取得できます。

select uid, first_name, last_name, birthday_date from user where uid=me()

ただし、次の形式で表示されます。

02/03/1942

そして、それをmysqlデータベースのDATEフィールドに保存すると、0000-00-00が保存されます。

この日付をmysqlデータベースに保存するにはどうすればよいですか?

4

1 に答える 1

2

これをチェックしてください - http://php.net/manual/en/function.date-create.php

<?php
  $test = new DateTime('02/31/2011');
  echo date_format($test, 'Y-m-d H:i:s'); // 2011-03-03 00:00:00
  $test = new DateTime('06/31/2011');
  echo date_format($test, 'Y-m-d H:i:s'); // 2011-07-01 00:00:00
?>

Facebook が返すものと同様の文字列をコンストラクターにフィードし、DateTime()そのオブジェクトを使用して必要な日付形式をフォーマットできます。


あるいは、MYSQL ソリューションのみで構成されるオプションが必要な場合は、単純に元の日付を渡し、STR_TO_DATE現在の形式にフィードすることができます。DATEこれにより、フィールド タイプの正しい方法で日付がフォーマットされます。

INSERT INTO  `test` (  `date` ) 
  VALUES (
    STR_TO_DATE(  '02/03/1942',  '%d/%m/%Y' )
  )

詳細については、STR_TO_DATE() のドキュメントを参照してください。

于 2012-05-18T10:46:27.463 に答える