假设您正在构建一个类似于留言板的 Web 应用程序,您希望在其中记录提交消息的时间。无需以任何方式进一步处理日期。在应用程序本身中获取日期或在数据库中生成日期之间有什么实际区别吗?是否推荐一种方法优于另一种方法?如果是,为什么?
$msg = "Stuff";
//Generating the date in the application
$currentTime = date("Y-m-d H:i:s");
$st = $mysqli->prepare("insert into messages (msg, date_time) values (?, ?)");
$st->bind_param("ss", $msg, $currentTime);
//--- OR ---
//Generating the date in the database
$st = $mysqli->prepare("insert into messages (msg, date_time) values (?, CURRENT_TIME())");
$st->bind_param("s", $msg);
此外,如果在 date_time
字段中使用默认值 CURRENT_TIMESTAMP
是否可以更好地实现第二个选项,还是没有太大区别?
最佳答案
如果数据库和网络服务器位于同一台服务器上,则无所谓。他们的时间是一样的。
您可以:
- 将日期时间保存为 UTC+0
- 使用 PHP 的
time()
保存时间戳
并让应用程序执行时区调整和/或时间戳到日期时间的转换。
关于php - 存储当前日期时,应该在 web 应用程序中设置还是在数据库中设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38113642/