web-dev-qa-db-ja.com

PHPでTIMESTAMPをUNIX時間に変換しますか?

現在、次のように時間をデータベースに保存しています:2010-05-17 19:13:37

ただし、2回比較する必要があり、1274119041などのUNIXタイムスタンプの方が簡単だと感じています。 (これらの2つの時間は異なります)

では、どのようにタイムスタンプをUNIXタイムスタンプに変換できますか?簡単なphp関数はありますか?

24
Rob

あなたが探している strtotime()

36
Mark

あなたが欲しい strtotime

print strtotime('2010-05-17 19:13:37'); // => 1274123617
13
Matt

Unixtimestampの取得:

$unixTimestamp = time();

Mysql datetime形式への変換:

$mysqlTimestamp = date("Y-m-d H:i:s", $unixTimestamp);

Mysqlタイムスタンプの取得:

$mysqlTimestamp = '2013-01-10 12:13:37';

Unixtimestampに変換する:

$unixTimestamp = strtotime('2010-05-17 19:13:37');

... 1つまたは一定の時間範囲と比較して、ユーザーが現実的な時間を入力したかどうかを確認します。

if($unixTimestamp > strtotime("1999-12-15") && $unixTimestamp < strtotime("2025-12-15"))
{...}

Unixタイムスタンプも安全です。次のようにして、以前の範囲チェックをチェックする前に、URLで渡された変数が有効かどうかをチェックできます。

if(ctype_digit($_GET["UpdateTimestamp"]))
{...}
6
Florian Mertens

データベースとしてMySQLを使用している場合、 NIX_TIMESTAMP を使用して日付フィールドをUNIXタイムスタンプとして返​​すことができます。

SELECT UNIX_TIMESTAMP(my_datetime_field)

また、PHP側で strtotime を使用して行うこともできます。

strtotime('2010-05-17 19:13:37');
4
webbiedave

データベースに時間を保存する場合、データベースにUNIXのタイムスタンプも提供させてください。 UNIX_TIMESTAMP(date) を参照してください。

SELECT UNIX_TIMESTAMP(date) ...;

データベースは、日付と時刻の比較と算術も実行できます。

3
ax.