目前我儲存的時間在我的數據庫,像這樣:2010-05-17 19:13:37
將TIMESTAMP轉換爲PHP中的unix時間?
不過,我需要比較兩個時間,我覺得它會更容易做,如果它是一個Unix時間戳,如1274119041
。 (這兩個不同)
那麼我怎樣才能將時間戳轉換爲unix時間戳?有一個簡單的PHP功能嗎?
目前我儲存的時間在我的數據庫,像這樣:2010-05-17 19:13:37
將TIMESTAMP轉換爲PHP中的unix時間?
不過,我需要比較兩個時間,我覺得它會更容易做,如果它是一個Unix時間戳,如1274119041
。 (這兩個不同)
那麼我怎樣才能將時間戳轉換爲unix時間戳?有一個簡單的PHP功能嗎?
您正在尋找strtotime()
你想strtotime:
print strtotime('2010-05-17 19:13:37'); // => 1274123617
如果你使用MySQL作爲數據庫,它可以返回日期字段作爲UNIX與UNIX_TIMESTAMP時間戳:
SELECT UNIX_TIMESTAMP(my_datetime_field)
您也可以在PHP端使用strtotime:
strtotime('2010-05-17 19:13:37');
如果你把時間存儲在數據庫中,爲什麼不讓數據庫也給你它的unix時間戳?見UNIX_TIMESTAMP(date)
,例如。
SELECT UNIX_TIMESTAMP(date) ...;
數據庫還可以做日期和時間的比較和算術。
獲得一個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');
...它有一個或一系列的時間比較,看看如果用戶輸入一個現實的時間:
if($unixTimestamp > strtotime("1999-12-15") && $unixTimestamp < strtotime("2025-12-15"))
{...}
Unix的時間戳是更安全了。你可以做以下檢查一個網址傳遞變量是有效,檢查(例如)先前的範圍檢查前:
if(ctype_digit($_GET["UpdateTimestamp"]))
{...}
感謝這並獲得成功......但..對於somereason MySQL的NOW()是發佈與TIME()不同的時間。有關於此的任何想法? – Rob 2010-05-17 16:12:02
meh,沒關係。我爲time()設置了一個變量,並將其插入數據庫而不是NOW()。不管怎麼說,還是要謝謝你 – Rob 2010-05-17 16:30:40