蓝图类的时间戳()和日期时间()方法之间的差异

2022-08-30 16:29:02

在Laravel中,该类有两种方法,我想知道它们之间的区别。Illuminate\Database\Schema\Blueprint

$table->dateTime() 

$table->timestamp()

两者都以相同的方式明显地存储日期。有人启发我?


答案 1

因此,秘诀在于了解每个人到底做了什么。

Laravel 中的 and 函数使用不同的表列。dateTime()timestamp()

dateTime()使用 DATETIME 作为 DB 列类型。 使用时间戳作为数据库列类型。timestamp()

DATETIME并且有很多相似之处,但差异本身在Laravel之外,在MySQL中更多。TIMESTAMP

它们的主要区别在于范围。对于日期时间,它最多是年份,而对于时间戳,它是唯一的年份。其他差异包括存储每个字节所需的字节量。99992038

我发现了一篇很好的文章,清楚地说明了两者的异同 http://www.c-sharpcorner.com/article/difference-between-mysql-datetime-and-timestamp-datatypes/

希望这有帮助。


答案 2

$table->dateTime()在表上创建新的日期时间列。另一方面,在表上创建新的时间戳列。$table->timestamp()

如果您在识别时间戳日期时间之间的差异时遇到问题

DATETIME表示日期(在日历中找到)和时间(可以在挂钟上观察到)

时间戳表示明确定义的时间点。如果您的应用程序处理时区,这可能非常重要。2010-09-01 16:31:00 是多久以前的?这取决于您所在的时区。

此外,您可以参考蓝图文档了解任何不便之处。


推荐