首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel工厂不正确的日期时间值

Laravel工厂不正确的日期时间值
EN

Stack Overflow用户
提问于 2020-05-08 20:31:52
回答 1查看 407关注 0票数 1

在Laravel工厂,我有:

代码语言:javascript
运行
复制
'created_at' => now()->subDays(mt_rand(1,90))->subHours(mt_rand(1,23))->toDateTimeString()

这之前运作良好,我认为是在拉拉维尔7.2。我所说的“工作很好”的意思是,我运行它是为了插入10.00或更多行,它从未失败过。在更新到7.10.3之后,我现在得到以下错误:

代码语言:javascript
运行
复制
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2020-03-29 02:10:11' for column 'created_at'

它实际上在失败之前插入了几百行,因此它似乎是一个失败的特定日期或时间。在实际插入的行中,有些以2020-03-29作为日期,有些以02:10:11作为时间,因此我不知道为什么这是“无效格式”。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-08 21:31:28

2020年3月29日是欧洲夏令时开始的时候。我假设你在中欧时间(CET)时区,从凌晨2点到凌晨3点,时间提前了1小时,所以没有凌晨2:10,所以你的约会时间无效。

你有几个选择:

  1. 您可以更新您的数据库/数据库服务器以使用UTC。
  2. 您可以更新您的Laravel应用程序时区以匹配您的数据库服务器时区(app.timezone配置键)。在将其转换为字符串之前,您可以更新您的工厂以调用碳实例上的setTimezone(/* db timezone */) (这将确保碳不会为数据库时区创建无效的日期时间)。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61687626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档