在PHP中将TIMESTAMP转换为unix时间?

Rob*_*Rob 24 php timestamp epoch unix-timestamp

目前我将时间存储在我的数据库中,如下所示: 2010-05-17 19:13:37

但是,我需要比较两次,如果它是一个unix时间戳,我觉得它会更容易1274119041.(这两次不同)

那么如何将时间戳转换为unix时间戳?它有一个简单的PHP函数吗?

Mar*_*ark 37

你在寻找strtotime()


Mat*_*att 13

你想要strtotime:

print strtotime('2010-05-17 19:13:37'); // => 1274123617
Run Code Online (Sandbox Code Playgroud)


Flo*_*ens 6

获取unixtimestamp:

$unixTimestamp = time();
Run Code Online (Sandbox Code Playgroud)

转换为mysql日期时间格式:

$mysqlTimestamp = date("Y-m-d H:i:s", $unixTimestamp);
Run Code Online (Sandbox Code Playgroud)

获取一些mysql时间戳:

$mysqlTimestamp = '2013-01-10 12:13:37';
Run Code Online (Sandbox Code Playgroud)

将其转换为unixtimestamp:

$unixTimestamp = strtotime('2010-05-17 19:13:37');
Run Code Online (Sandbox Code Playgroud)

...将其与一个或一个范围进行比较,以查看用户是否输入了实际时间:

if($unixTimestamp > strtotime("1999-12-15") && $unixTimestamp < strtotime("2025-12-15"))
{...}
Run Code Online (Sandbox Code Playgroud)

Unix时间戳也更安全.在检查(例如)上一个范围检查之前,您可以执行以下操作来检查传递的url变量是否有效:

if(ctype_digit($_GET["UpdateTimestamp"]))
{...}
Run Code Online (Sandbox Code Playgroud)


web*_*ave 5

如果您使用 MySQL 作为数据库,它可以使用UNIX_TIMESTAMP将日期字段作为 unix 时间戳返回:

SELECT UNIX_TIMESTAMP(my_datetime_field)
Run Code Online (Sandbox Code Playgroud)

您也可以使用strtotime在 PHP 端执行此操作:

strtotime('2010-05-17 19:13:37');
Run Code Online (Sandbox Code Playgroud)