将日期转换为整数PHP


Conversion of date to integer PHP

我有两个表,其中都有存储日期的字段
但在第一种情况下,它将日期存储为整数,在第二种情况下则类似于时间格式
我想将值从日期格式保存为整数,但它不会将日期转换为整数。
我尝试了函数idate(),但它只将一个字符转换为参数
日期看起来像string(19) "2006-08-09 13:22:44"
有人能帮我吗?也许strtotime()是我的解决方案?

对于PHP转换,请使用以下内容:

$timestamp = strtotime($mysqltime);
echo date("Y-m-d H:i:s", $timestamp);

对于纯MySQL转换:

SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');

在这里,您可以使用表字段名称(SELECT UNIX_TIMESTAMP(fieldName))更改日期字符串


供参考:
https://stackoverflow.com/a/4577805/2883841-得票最多的两个答案。

将第二个表中的日期转换为Unix时间戳并将其作为int 保存到第一个表中

编辑

我认为您不应该进行此转换,除非没有其他选项留下

尝试UNIX_TIMESTAMP(),例如

select UNIX_TIMESTAMP('2006-08-09 13:22:44')
1155126164

如果您的字段类型是INT,并且您不能或不想将其更改为DATE或DATETIME,则应将日期保存为时间戳。在这种情况下,strtotime就是您的函数。您可以直接在mysql:中转换字段,而不是通过php strtotime()进行转换

UPDATE table1 SET `dateInt`=UNIX_TIMESTAMP(table2.`dateDate`) WHERE table1.`id`=table2.`id`