Converting TIMESTAMP to unix time in PHP?

ぃ、小莉子 提交于 2019-11-28 22:54:40

You're looking for strtotime()

You want strtotime:

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

Getting a unixtimestamp:

$unixTimestamp = time();

Converting to mysql datetime format:

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

Getting some mysql timestamp:

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

Converting it to a unixtimestamp:

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

...comparing it with one or a range of times, to see if the user entered a realistic time:

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

Unix timestamps are safer too. You can do the following to check if a url passed variable is valid, before checking (for example) the previous range check:

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

If you're using MySQL as your database, it can return date fields as unix timestamps with UNIX_TIMESTAMP:

SELECT UNIX_TIMESTAMP(my_datetime_field)

You can also do it on the PHP side with strtotime:

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

if you store the time in the database, why don't you let the database also give you the unix timestamp of it? see UNIX_TIMESTAMP(date), eg.

SELECT UNIX_TIMESTAMP(date) ...;

databases can also do date and time comparisons and arithmetic.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!