Datetime 将带偏移量的IsoString保存到数据库
目前,我正在开发一个应用程序,可以从Amazon销售合作伙伴api中提取一些数据。 我的目标是复制亚马逊卖家仪表板上的报告。目前该账户是使用欧洲/柏林时区的欧盟地区。我需要使用日期范围复制搜索。t例如,客户正在使用范围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查询中添
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 libraryCarbon::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');
哦,阅读碳文档应该知道我首先做了什么。:)