つまり、データベースへの保存には 2 つの形式があります (実際には 2 つ以上ありますが、私のアプリケーションには 2 つしかありません)。私はタイムスタンプのタイプを文字列として保存します。これは、より便利です。
通常の日付タイプは次のとおりです。
この 2 つの PHP 時間に注意する必要があります。そのため、数日前に作成したテーブルは、タイムスタンプを付けて保存しました。テーブルに入って長時間デバッグした後、型が一致せずライブラリに書き込まれなかったことがエラーであることがわかりました
上記のようなタイムスタンプの方が便利ですが、表示されますが、1228348800 という文字列は顧客には表示されません。さあ、GOD NOWS!
そこで、まず、現在のタイムスタンプを取得する方法について説明します。 ; このようにして、現在のタイムスタンプを 2008-12-4 に戻す必要があります。この形式では、PHP で date() 関数がよく使用されます。 $date2=date('Y-m-d'); を使用できます。理解できない場合は、PHP マニュアルを参照してください
さて、コードに戻りましょう。 1228348800 を 2008-12-4 形式に変換するには、次のようにします。
$date3=date('Y-m-d H:i:s',"1228348800" ); それでも時間、分を取得したい場合は、これで問題ありません。ただし、PHP の時刻は 8 時間の誤差があるようですので、逆にタイムスタンプを通常の日付に変換すればOKです。通常の日付形式をタイムスタンプに変換するには、次のコードを参照してください:
$year=((int)substr("2008-12-04",0, 4));//年を取得します
$month=((int )substr("2008-12-04",5,2));//月を取得します
$day=((int)substr("2008 -12-04",8,2));//取得数値
echo mktime(0,0,0,$month,$day,$year);
このようにして、通常の日付をタイムスタンプに変換できます。はい、分と秒がある場合も同じです。
注: php5.1 以降のタイムスタンプは実際の時間と 8 時間異なります。PHP 時間の具体的な解決策は次のとおりです
1 上記のバージョンを使用しないのが最も簡単な方法です。 -明らかに、これはお勧めできる方法ではありません。 ! !
2. php.iniを変更します。 php.ini を開き、date.timezone を検索します。先頭のセミコロン = を削除し、最後に Asia/Shanghai を追加します。欠点は、プログラムが他の人のサーバーに配置されている場合、php.ini が実行できないことです。変更されるため、できることは何もありません。
3. プログラムに時刻初期化ステートメントを追加します。「date_default_timezone_set("Asia/Shanghai");」です。これはプログラマが任意に設定できます。
中国本土で利用可能なタイムゾーン識別子、PHP 時間値は次のとおりです: 中国、アジア/重慶、アジア/上海、アジア/ウルムチ (順に、中国、重慶、上海、ウルムチ)、etc/GMT-8、アジア/ハルビン
香港と台湾で利用可能: アジア/マカオ、アジア/香港、アジア/台北 (マカオ、香港、台北の順)シンガポールも: アジア/シンガポール
オーストラリア: オーストラリア/シドニー
www.bkjia.com