Php 拉威尔多时区酒店
我正在尝试建立一个用户出行数据库,其中包括存储:Php 拉威尔多时区酒店,php,mysql,laravel,Php,Mysql,Laravel,我正在尝试建立一个用户出行数据库,其中包括存储: 航班号 出发机场 出发时间 到达机场 到达时间 请注意,两个机场可以位于不同的时区。我需要算出时差,还有这趟航班的天数等等 我不知道如何处理这个问题。我是否应该添加更多列来存储本地日期时间和UTC时间 此外,我还看到Laravel具有dateTimeTz()列类型。但是它似乎没有存储任何关于时区的信息 员额表: $table->dateTimeTz('newTime')->nullable(); 设置新时间: $p->ne
- 航班号
- 出发机场
- 出发时间
- 到达机场
- 到达时间
dateTimeTz()
列类型。但是它似乎没有存储任何关于时区的信息
员额表:
$table->dateTimeTz('newTime')->nullable();
设置新时间:
$p->newTime = \Carbon\Carbon::now('Asia/Kolkata')
=> Carbon\Carbon {#841
+"date": "2017-03-28 16:23:33.490926",
+"timezone_type": 3,
+"timezone": "Asia/Kolkata",
}
>>> $p
=> App\Post {#836
id: 1,
user_id: 1,
title: "Et quaerat deserunt qui ullam voluptas.",
body: "Aut eos id ut qui laborum. Tempore rerum ut quas deserunt voluptas optio.",
slug: "et-quaerat-deserunt-qui-ullam-voluptas",
newTime: "2017-03-28 16:23:33",
created_at: "2017-03-28 10:51:36",
updated_at: "2017-03-28 10:51:36",
}
最简单的方法是在UNIX时间戳中存储日期和时间(它与时区无关)。然后您可以将其转换为任何时区(取决于用户位置或机场时区)最简单的方法是在UNIX时间戳中存储日期和时间(它与时区无关)。然后,您可以将其转换为任何时区(取决于用户位置或机场时区)非常简单,请遵循它:
- 以UTC格式存储所有时间戳(默认为laravel配置)
- 用户可以选择自己的时区并将其保存在用户表中
- 然后你可以用碳元素把日期转换成当地时间。(碳 图书馆,它已经在拉威尔的里面了)
欧洲/伦敦
或亚洲/加尔各答
$something->created_at->timezone($user->timezone);
很简单,按照它来做:
- 以UTC格式存储所有时间戳(默认为laravel配置)
- 用户可以选择自己的时区并将其保存在用户表中
- 然后你可以用碳元素把日期转换成当地时间。(碳 图书馆,它已经在拉威尔的里面了)
欧洲/伦敦
或亚洲/加尔各答
$something->created_at->timezone($user->timezone);
不是一个直接的答案,但拉雷维尔使用碳库,所以可能看那些文件不是一个直接的答案,但拉雷维尔使用碳库,所以可能看那些文件