Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在开发一个强烈依赖正确日期的 php/mysql 应用程序。为了确保插入数据库的日期始终正确,并且由于 php/mysql 日期函数依赖于系统时钟,我决定要求用户在日期表单字段中输入当前日期,然后将其与当前日期进行比较在将任何数据插入数据库之前使用 CURDATE() 数据库。
我不知道这是否是正确的方法,还是他们确保日期完整性的更好解决方案?
(升级到答案)
人们通常会依赖系统时钟是正确的;它比用户输入更受自己的控制,用户输入可能是故意或意外不正确的。
我建议CURDATE()在您的声明中使用作为值INSERT,并采取措施,例如运行网络时间协议客户端以保持系统时钟正确。大多数现代操作系统不仅默认包含此类软件,而且它们通常经过配置并且开箱即用。
CURDATE()
INSERT
如果您的系统是独立的并且无法从网络更新其时间,您可以考虑以下任意组合: 从另一个来源接收时间信号(例如通过无线电,如NPL 信号);定期验证系统时钟(尤其是在启动时);监控 CMOS 电池并确保及时更换;或使用可充电电池。