27

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

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

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

4

5 に答える 5

41

strtotime()を探しています

于 2010-05-17T15:59:49.480 に答える
15

strtotimeが必要です:

print strtotime('2010-05-17 19:13:37'); // => 1274123617
于 2010-05-17T16:00:01.477 に答える
8

unixtimestampの取得:

$unixTimestamp = time();

mysql日時形式への変換:

$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"]))
{...}
于 2013-01-10T14:43:20.837 に答える
5

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

SELECT UNIX_TIMESTAMP(my_datetime_field)

PHP 側でstrtotimeを使用して実行することもできます。

strtotime('2010-05-17 19:13:37');
于 2010-05-17T16:04:11.793 に答える
3

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

SELECT UNIX_TIMESTAMP(date) ...;

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

于 2010-05-17T16:04:51.137 に答える