Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datetime 将带偏移量的IsoString保存到数据库_Datetime_Php Carbon_Timezone Offset_Toisostring - Fatal编程技术网

Datetime 将带偏移量的IsoString保存到数据库

Datetime 将带偏移量的IsoString保存到数据库,datetime,php-carbon,timezone-offset,toisostring,Datetime,Php Carbon,Timezone Offset,Toisostring,目前,我正在开发一个应用程序,可以从Amazon销售合作伙伴api中提取一些数据。 我的目标是复制亚马逊卖家仪表板上的报告。目前该账户是使用欧洲/柏林时区的欧盟地区。我需要使用日期范围复制搜索。t例如,客户正在使用范围2021-05-01-2015-05-11。我目前所做的是创建一个cron作业,该作业将使用此格式每小时获取这些报告上个月的最后一天-本月的最后一天,这样我就不会错过该月的任何数据。我的问题是复制日期范围示例的相同结果2021-05-01-2015-05-11我需要在sql查询中添

目前,我正在开发一个应用程序,可以从Amazon销售合作伙伴api中提取一些数据。 我的目标是复制亚马逊卖家仪表板上的报告。目前该账户是使用欧洲/柏林时区的欧盟地区。我需要使用日期范围复制搜索。t例如,客户正在使用范围
2021-05-01
-
2015-05-11
。我目前所做的是创建一个cron作业,该作业将使用此格式每小时获取这些报告
上个月的最后一天
-
本月的最后一天
,这样我就不会错过该月的任何数据。我的问题是复制日期范围示例的相同结果
2021-05-01
-
2015-05-11
我需要在sql查询中添加额外的日期和2.5小时

         `SELECT count(id) FROM orders where purchase_date between '2021-05-01'  and '2021-05-12 02:18:00'`
来自amazon的
purchase\u date
是isostring格式,带有偏移量
“2021-05-13T15:33:56+00:00”
然后我使用Carbon library
Carbon::parse($value['purchase\u date')->格式('Y-m-d H:I:s')
将其保存到mysql。结果将是
2021-05-13 15:33:56

我的应用程序的时区设置为“UTC”。你知道如何在我的sql查询中不添加1天和几个小时就获得相同的结果吗?我的本地时区是亚洲/新加坡


关于

您需要将用户的意思转换为UTC。当来自柏林的用户询问
2021-05-01-2015-05-11
日期时,他的意思是:

2021-05-01 00:00:00-2015-05-11 23:59:59.999999欧洲/柏林

这意味着您的服务器:

2021-04-30 22:00:00-2015-05-11 21:59:59.999999 UTC

有了碳,你就有了:

$start=Carbon::parse('2021-05-01欧洲/柏林')->tz('UTC')->格式('Y-m-d H:i:s');
$end=Carbon::parse('2015-05-11欧洲/柏林')->endOfDay()->tz('UTC')->格式('Y-m-d H:i:s');

哦,阅读碳文档应该知道我首先做了什么。:)