将日期转换为整数PHP

时间:2014-10-23 11:30:10

标签: php mysql date

我有两张桌子,两张桌子都有字段来存储日期 但是在第一个中它将日期存储为整数,而在第二个中存储时间格式 我想将值从日期格式保存到整数,但它不会将日期转换为int 我尝试了函数idate(),但它只将一个char转换为参数 日期看起来像string(19) "2006-08-09 13:22:44" 有人能帮助我吗? 也许strtotime()这是我的解决方案?

4 个答案:

答案 0 :(得分:3)

对于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 - 得票最多的两个答案。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

保存到第一个表中

编辑

我认为你不应该进行这种转换,除非没有其他选择

答案 3 :(得分:0)

尝试UNIX_TIMESTAMP(),例如

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

1155126164