我正在开发一个非常依赖于正确日期的php/mysql应用程序。为了确保插入到数据库中的日期始终正确,并且由于php/mysql日期函数依赖于系统时钟,我决定要求用户在日期表单字段中输入当前日期,然后在将任何数据插入数据库之前使用CURDATE()将其与数据库中的当前日期进行比较。
我不知道这是不是正确的方法,或者他们是确保约会完整性的更好的解决方案?
发布于 2012-04-27 17:21:04
(升级为答案)
人们通常会依赖系统时钟来判断是否正确;它是更受自己控制的东西,而不是用户输入,这可能是故意的也可能是意外的错误。
我建议在INSERT语句中使用CURDATE()作为值,并采取诸如运行Network Time Protocol客户机之类的措施来保持系统时钟正确。大多数现代操作系统不仅在默认情况下包含这样的软件,而且它们通常是开箱即用的。
如果您的系统是独立的,并且无法从网络更新其时间,您可以考虑以下任意组合:从其他来源(例如通过无线电,如NPL signal)接收时间信号;定期验证系统时钟(特别是在启动时);监控CMOS电池并确保及时更换电池;或使用充电电池。
https://stackoverflow.com/questions/10347826
复制相似问题