使用PHP:date()或MySQL:FROM_UNIXTIME()存储时间戳?
这可能很简单,但当我想将时间戳值(例如,使用PHP:date()或MySQL:FROM_UNIXTIME()存储时间戳?,php,mysql,unix-timestamp,Php,Mysql,Unix Timestamp,这可能很简单,但当我想将时间戳值(例如,time())存储到MySQL表中的timestamp列中时,这两个值中哪一个更可取: function storeTime($timestamp) { // Option one: $query = "INSERT INTO faketable (datecol) VALUES (FROM_UNIXTIME(".$timestamp."))"; // Option two: $query = "INSERT INTO faketa
time()
)存储到MySQL表中的timestamp
列中时,这两个值中哪一个更可取:
function storeTime($timestamp) {
// Option one:
$query = "INSERT INTO faketable (datecol) VALUES (FROM_UNIXTIME(".$timestamp."))";
// Option two:
$query = "INSERT INTO faketable (datecol) VALUES (".date("YY-MM-DD HH:MM:II", $timestamp).")";
}
有什么区别吗
编辑:对不起,意思是date()
,而不是strotime()
编辑2:NOW()
没有切掉芥末,实际的时间戳是发送到我的方法的参数。我事先不知道是什么
编辑3:我真的不应该在晚上这个时候问问题。所讨论的列实际上是一个
时间戳
列,而不是日期时间
列。最简单的是mysql中的FROM_UNIXTIME()
。这将是一个单整数->日期转换。在PHP中这样做意味着integerr->string->datetime,效率要低得多
同样,strotime()也是完全无效的。这不是现在的功能工作。你最终会在数据库中找到
至于存储“现在”时间戳,为什么不使用时间戳字段类型呢?当您插入/更新记录时,它会自动将自己设置为当前时间。最简单的是mysql中的
FROM_UNIXTIME()
。这将是一个单整数->日期转换。在PHP中这样做意味着integerr->string->datetime,效率要低得多
同样,strotime()也是完全无效的。这不是现在的功能工作。你最终会在数据库中找到
至于存储“现在”时间戳,为什么不使用时间戳字段类型呢?当您插入/更新记录时,它会自动将自身设置为当前时间。如何
INSERT INTO faketable (datecol) VALUES (UNIX_TIMESTAMP())
我想这就是你要找的东西,你呢
INSERT INTO faketable (datecol) VALUES (UNIX_TIMESTAMP())
我想这就是你想用OP来回答你的问题的原因;没有逻辑上的区别。它们都返回日期的字符串表示形式,MySQL很乐意将其转换为DATETIME或时间戳类型。至于哪个更快,有证据表明MySQL 回答你的问题;没有逻辑上的区别。它们都返回日期的字符串表示形式,MySQL很乐意将其转换为DATETIME或时间戳类型。至于哪个更快,有证据表明MySQL 第三个选项:使用mysql
NOW()
第四个选项,从PHP发送date(“Y-m-dh:i:s”)
。第三个选项:使用mysqlNOW()
第四个选项,从PHP发送date(“Y-m-dh:i:s”)
。。。。关于TIMESTAMP
列,再次修复了我的问题…:)。。。关于TIMESTAMP
列,再次修复了我的问题…:)谢谢你的链接!谢谢你的链接!认可的