我试图找到一个解决方案,如何将存储在数据库中的日期时间转换为yyyyy-mm-dd HH-mm-ss,并给它时区美国/Los_Angeles。
如果我更改时区,Carbon将自动从时间中减去7小时,这就是将时间从UTC更改为PST时发生的情况,但我的DB中的时间设置为PST时间。例如,我希望时间是今天上午10点,但如果我改变时区,碳将转换为今天凌晨3点。
如果时区改为PST,但仍然保持上午10点的时间,我该怎么做?我需要一个API调用的时区,这就是为什么我需要弄清楚这一点。
更好、更简单的方法是:
$carbon = new Carbon('YYYY-MM-DD HH:II:SS', 'America/Los_Angeles');
注意:不要忘记添加依赖use\Carbon\Carbon;
。
我想你要找的是:
Carbon::createFromFormat('Y-m-d H:i:s', $some_date, 'UTC')
->setTimezone('America/Los_Angeles')
首先,您设置了您最初拥有的时区,所以如果您将您的日期存储在数据库中为UTC,那么将默认时区设置为UTC,然后使用-
使用shiftTimezone()
方法代替setTimezone()
。
如果对现有的Carbon实例调用setTimezone()
,它会将日期/时间更改为新时区,例如:
$datetime = Carbon::createFromFormat('Y-m-d H:i:s', '2020-09-15 23:45:00');
echo $datetime->toAtomString() . "\n";
// 2020-09-15T23:45:00+00:00
$datetime->setTimezone('America/Los_Angeles');
echo $datetime . "\n";
// 2020-09-15T16:45:00-07:00
但是,调用shiftTimezone()
将在不更改时间的情况下设置时区。让我们从头开始重试:
$datetime = Carbon::createFromFormat('Y-m-d H:i:s', '2020-09-15 23:45:00');
echo $datetime->toAtomString() . "\n";
// 2020-09-15T23:45:00+00:00
$datetime->shiftTimezone('America/Los_Angeles');
echo $datetime->toAtomString() . "\n";
// 2020-09-15T23:45:00-07:00
当然,您也可以将这些方法链接在一起:
$datetime = Carbon::createFromFormat('Y-m-d H:i:s', '2020-09-15 23:45:00')
->shiftTimezone('America/Los_Angeles');
echo $datetime->toAtomString() . "\n";
// 2020-09-15T23:45:00-07:00
您还可以通过将时区作为设置的一部分传递给
数组来“移动”时区:
$datetime = Carbon::createFromFormat('Y-m-d H:i:s', '2020-09-15 23:45:00')
->settings(['timezone' => 'America/Los_Angeles']);
echo $datetime->toAtomString() . "\n";
// 2020-09-15T23:45:00-07:00
问题内容: 我希望更改詹金斯州的时区。 我已经更改了Jenkins安装服务器的时区,但是Jenkins UI显示了不同的时间。 我需要为Jenkins UI设置PST时间。我该怎么做? 问题答案: 参见https://wiki.jenkins- ci.org/display/JENKINS/Change+time+zone 。Jenkins应该遵守为Java设置的时区。但是您可以通过添加以下内容来
这个问题很基本,但是我想确定没有比我现在做的更好的方法了。假设我有一个脸书图标。到目前为止,当用户悬停在该图像上时,我会显示不同的图像以更改颜色。有没有一种替代的CSS方法来做到这一点,所以我不使用多个图像? 在下面的小提琴中,我试图改变背景,但这只覆盖了整个图像。 JSFIDLE
问题内容: 我在启动时修改UIView高度有麻烦。 我必须使用UIView,我希望其中一个是屏幕尺寸* 70,另一个是填补空白。 这是我所拥有的 和 它在运行时对应用程序没有影响。我使用自动版式,但只有边距限制… 我做错了吗? 问题答案: 干得好。这应该工作。
我已经将添加到中(使用),它很大。我能做点什么让它变小吗?
问题内容: 我想动态更新元素的文本: 我是jQuery的新手,因此对我来说,这项任务似乎非常具有挑战性。有人可以指出我要使用的功能/选择器吗? 如果可能的话,我想在不为需要更改的文本添加新容器的情况下执行此操作。 问题答案: 在Javascript中,该属性为您提供元素的所有子节点,包括文本节点。 因此,如果您知道要更改的文本始终是元素中的第一件事,那么请给出以下HTML: 您可以这样做: 当然,
问题内容: 如何在Tomcat中更改时区?Webapp之一(Solr)使用的时区不正确 (与MySQL时间戳相比) ,我认为更改Tomcat的时区会有所帮助。谢谢! 问题答案: 除非tomcat具有个人的TZ环境变量,否则它将在我的系统上使用的副本。 Tomcat的个人时区将在其启动脚本中以如下形式指定: