MySQLの日付と時刻のタイプを選択するには?無差別に使用しないでください。

日付と時刻を使用するようにデータベースライターを構築することは避けられません。データベースの場合、タイムスタンプや日付時刻など、さまざまな日付と時刻のフィールドから選択でき、intを使用してUNIXタイムスタンプを格納します。

初心者だけでなく、経験豊富なプログラマーも混乱していますが、日付と時刻の保存にはどのタイプを使用すればよいですか?

次に、それらの特性を段階的に分析して、適切なフィールドタイプを自分のニーズに応じて選択できるようにします(長所と短所が比較され、親は隣人と子供を自分自身と比較したい)

日時とタイムスタンプ

datetimeは、カレンダーの時刻と特定の時刻を参照する時計の時刻の組み合わせに似ています。

タイムスタンプは、時間を記録するのにより適しています。たとえば、ドンバ地区の時間は2016-08-02 10:35:52で、あなたは日本にいます(ドンジ地区の時間は2016-08-02 11:35:52)、私はあなたとチャットしていて、データベースが時間を記録していました、それを取り出した後、時間は私にとって2016-08-02 10:35:52、日本では2016-08-02 11:35:52です。したがって、タイムゾーンの計算を考慮する必要はありません。

時間範囲はタイムスタンプ(1970〜2038)ですが、日時(1000〜9999)は、劉備が生まれたとき(161年)を記録できません。

タイムスタンプとUNIXタイムスタンプ

表示は直感的で、問題が発生した場合のトラブルシューティングが簡単で、多くの長い整数よりもはるかに優れています。

Intは1970年から蓄積されていますが、サポートされているintの範囲は1901-12-13〜2038-01-19 03:14:07です。より大きな範囲が必要な場合は、bigIntに設定する必要があります。ただし、この時間にはミリ秒は含まれていません。ミリ秒が必要な場合は、それを浮動小数点数として定義する必要があります。日時とタイムスタンプはネイティブの6桁のマイクロ秒です。

タイムスタンプには、上記の項目2と同じ独自のタイムゾーン変換が付属しています。

ユーザーのフロントエンドが入力する時間は、通常、日付タイプです。intを保存する場合は、事前に保存してフェッチしてから処理する必要があります。

総括する

タイムスタンプは、更新・作成・リリース・ログ時刻・購入時刻・ログイン時刻・登録時刻など、頻繁に変化するものであり、海外からの購入や海外での事業展開など、タイムゾーンは自動で十分に処理された最新の時刻です。

datetimeは、サーバー実行予定タスク時間/フィットネス運動プログラム時間などの固定時間を記録します。どのタイムゾーンでも、何かを行うには固定時間が必要です。タイムスタンプを超えた時間。タイムゾーンが必要な場合は、タイムゾーンの処理を覚えておく必要があります。

UNIXのタイムスタンプは使い勝手が良くないので、比較の範囲としては、タイムスタンプと日時を利用できます。

タイムゾーンを考慮しない場合、または独自のタイムゾーンプランがある場合は、自由に選択してください。もちろん、公式アカウントのJavaテクノロジースタックに従ってm36と返信し、MySQL開発の軍事規制のコピーを取得できます。

Laravelは国際的なデザインフレームワークであり、created_at updated_atは、プログラマーの便宜のためにタイムスタンプを使用し、データベース設計標準に準拠していることは理解できます。

スコープとタイムゾーンの問題を解決する時間タイプはありますか?これは不可能です、tinyInt BigIntはありませんか?MySQLはデータベースフィールドの変更を許可します。

誕生日は年/月/日などの複数のフィールドに保存できるため、特定の日に誕生日を持っているユーザーを簡単に見つけることができます(User::where(\['month' => 8, 'day' => 12\])->get()

プロジェクトを構築するときは、ビジネスシナリオに適したプロジェクトを慎重に検討する必要があります。どれを選ぶ?需要次第です。公開番号のJavaテクノロジスタックに従ってm36と返信し、MySQL開発の軍事規制のコピーを入手してください。

誰もが追加して修正することを歓迎します。

著者:zhuzhichao

リンク:https : //learnku.com/laravel/t/2495/select-the-appropriate-mysql-date-time-type-to-store-your-time

私のブログでもっと読むことをお勧めします:

1. Java JVM、コレクション、マルチスレッド、および新機能に関する一連のチュートリアル

2. Spring MVC、Spring Boot、Spring Cloudシリーズのチュートリアル

3. Maven、Git、Eclipse、Intellij IDEAシリーズツールのチュートリアル

4. Java、バックエンド、アーキテクチャー、アリババなどの主要メーカーから最新のインタビューの質問

気分がいいです。いいね+進むを忘れないでください!

最後に、スタックリーダーのWeChat公式アカウントに注意してください。Javaテクノロジースタック、返信:福祉、2020年に向けて私がまとめた最新のJavaインタビューの質問の無料コピーを入手できます。これは、ルーチンなしで本当に完全です(回答を含む)。

おすすめ

転載: blog.csdn.net/youanyyou/article/details/108460981