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