PHPファイルからデータベース値を設定しています。PHPファイルには、UNIXタイムスタンプ値を格納する文字列変数があります。
私が持っているMySqlテーブルには、これらのタイムスタンプ値をタイムスタンプデータ型のログインフィールドに格納する必要があるスキーマがあります。
送ってみた
date('Y-m-d G:i:s', strtotime($userLogin));
私のデータベースに保存されますが、保存されるのは0000-00-00 00:00:00
MySQL には、このためのFROM_UNIXTIME()関数があります。
MySQL は、Unix タイムスタンプを MySQL 日付形式に、またはその逆に変換するFROM_UNIXTIME( )
および関数を提供します。UNIX_TIMESTAMP( )
例:
$sql = "INSERT INTO yourtable(date, ..., ...) VALUES (FROM_UNIXTIME($yourdate), ..., ...)";
strtotime () は、さまざまな日付形式の文字列を UNIX タイムスタンプに変換することを目的としています。文字列がすでにタイムスタンプである場合、 strtotime () に対して意味のあるフォーマットされた日付/時刻のようには見えず、失敗します。
文字列がすでにタイムスタンプである場合は、整数にキャストする以外に何もする必要はありません (厳密に言えば、その手順も必要ありませんが、キャストすると数字以外の文字が取り除かれるので、通常、キャストしても問題ありません)
さらに、MySQL は UNIX タイムスタンプを解析することができます (FROM_UNIXTIME() を使用すると、確認するために調べる必要があると思います)。
追加しなければなりませんでした
$login = date('Y-m-d H:i:s',(int)($userLogin/1000));
そしてそれは働いた...
使用する必要のない値を$userLogin
保持している場合は、timestamp
strtotime()
たとえば、これは動作するはずです -->
$userLogin = time();
date('Y-m-d G:i:s', $userLogin);