Laravel 的 Schema Builder 中的 timestamps() 和 timestampsTz() 方法有什么区别?我尝试搜索谷歌,但找不到任何帮助。
最佳答案
基本上 timestampsTz() 代表 Timestamp with Timezone
而时间戳()就像 Timestamp without timezone
TimestampsTz()
是特定时间点的表示。对这个时间的调整是由与您的系统相关的时区进行的。
正常timestamps()
更像是普通时钟的表示。
看看这个例子:
如果您使用的是 timestamps()
功能,您还将存储您的环境选择的时区。如果您使用的是 timestampsTz()
你不会安全的时区。
我想最好使用 timestamp without timezone
当您的所有数据都确定在同一区域时,或者您在那里有另一个处理时间转换的层时。
更新:
在数据库中正常timestamps()
看起来像
2004-10-19 10:23:54
而timestampsTz()
好像2004-10-19 10:23:54+02
更新 2:这些函数在 Laravel 中可用于每种类型的数据库。但这仅适用于 PostgreSQL。看看文档:PostgreSQL Timestamp .在其他数据库中,时区信息自动包含在时间戳中。
在所有其他数据库中,这将具有相同的输出。
关于Laravel - timestamp() 和 timestampTz() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52774094/