しないでください。 DateTime
値はDateTime
として保存する必要があります 、他の方法でそれらを保存する本当に正当な理由がない限り(DateTime
の最小/最大値以外の日付と時刻の値をサポートするためなど) )、DateTime
のままにしておくことをお勧めします 桁。
Select
中に、データベースからそれらを返す方法をいつでも操作できます。 またはプレゼンテーション層で。 DateTime
からUNIX時間を返すには 、MySqlは、UNIX_TIMESTAMP
。 UNIXタイムスタンプは、1970年1月1日からの秒数(うるう秒を含まない)であるため、ミリ秒数を返すには、単純に1000を掛けます。 UNIX時間を保存する場合は、intデータ型を使用する必要があります。
実際のDateTime
を保存する代わりに、UNIX時間を保存する場合は注意してください。 DateTime
の値 データ型列を使用すると、組み込みのすべての日時データベース関数を簡単に使用できなくなります。たとえば、特定の月に属する行の数を知りたい場合は、最初にデータをintからdatetimeに変換する必要があります。その後、それを計算できます。
また、精度が低下します(うるう秒を無視するため、UNIX時間は1秒の解像度でも不正確であるため)。
したがって、結論として、データベースがデータに適合するデータ型を提供している場合は、別のデータ型を使用してそのデータを保存しないでください。 Date
を使用します
日付のみを保存する場合のデータ型、 DateTime
日時値を保存する場合はデータ型、および Time
1日の特定の時刻を格納する場合は、データ型。
追伸
日時の値を処理する場合、特に複数の場所からのクライアントを処理する必要がある場合は、常にUTC日時のみをデータベースに保存します。