0

PHPのTime()関数を使用し、MySQLにDATE、DATETIME、TIMESTAMP、およびTIMEの4つのフィールドがある場合、どちらを使用する必要がありますか?

PHPでは、Time()を使用して日付と2012年5月10日のように時刻の両方を記録し、経過時間を計算するために時刻を使用します。

4

3 に答える 3

1

Unixタイムスタンプは、時刻/日付の最も基本的な形式であり、必要に応じて「raw形式」です。タイムスタンプを取得すると、他の任意の形式に変更できます。個人的には、DATEまたはDATETIMEを保存する意味がわかりません。データを再度取得するときにタイムスタンプに変換するだけです。もちろん、読み取り可能な形式で日付/時刻を表示する場合は、これを行う必要があります(関数を参照してくださいdate())。

MySQLには、レコードが作成されたときに現在のタイムスタンプを格納するフィールドタイムがあります。または、柔軟性を高めたい場合は、PHPのtime()関数が現在のタイムスタンプを返します。PHPには、特定の時点でのタイムスタンプを計算するための関数もあります(たとえば、日付をdd / mm / yyyy形式で指定する場合)。

したがって、要約すると、私は常にタイムスタンプを使用します。非常に具体的なニーズがない限り、タイムスタンプも使用することをお勧めします。

于 2012-06-11T02:36:56.970 に答える
1

必要なものを使用してください:

DATE: 日のみを保存します ex: 2012-06-11

DATETIME: 日付と時刻を保存します例: 2012-06-11 12:49:31

TIMESTAMP: 日付と時刻を保存します ex: 2012-06-11 12:49:31 MySQL には、行が更新されたときに、このフィールドを現在のタイムスタンプに設定する機能があります。たぶん(今はわからない)番号で指定できます。その他は指定する必要があります 'yyyy-mm-d hh:mm:ss'

DB 値を PHP の時間に変換するには、strtotime() を使用します。

于 2012-06-11T00:52:53.927 に答える
1

代わりにMySQL の Data And Time関数を使用することをお勧めします。現在の時刻を保存する必要がある場合は、NOW() を使用します。DATETIME型です。または、Unix Timestamp を使用して INT として保存することもできます。

于 2012-06-11T00:53:34.013 に答える