我正在为我的新项目使用symfony 3和doctrine。在生成新实体时,选择哪种最佳时间格式? datetime,datetimetz,日期,时间? 我的主要时间活动将用于记录事件(modified_at,created_at等) 如何为MySQL数据库选择合适的?我打算将来做时间计算。有什么建议?
答案 0 :(得分:1)
取决于您希望如何在系统中使用timezone
。例如。 Symfony的术语是:
Model Timezone
:与数据库和系统关联的时区。View Timezone
:用于最终用户的时区。 (对于为不同时区构建的应用程序很有用。)最好的选择是,按照标准将所有date_time
存储在数据库的UTC
时区中,这不需要与date_time
一起保存时区。
为最终用户提取数据时,您始终可以按View Timezone
转换日期。
关于您的问题(日期时间格式):
如果您的数据只需要date
来处理。您应该使用date
字段类型。如果您正在考虑管理datetime
的上述选项,则可以使用timestamp
或timezone
。
否则,如果您必须将timezone
与数据一起存储,datetimetz
可能是一个解决方案。