gpt4 book ai didi

php - 根据用户的时区按顺序显示不同时区的日期时间

转载 作者:可可西里 更新时间:2023-11-01 07:29:34 25 4
gpt4 key购买 nike

我在不同的国家(比如美国和日本)有 2 家商店

还有一个用户在 Germany GMT +2 使用我的应用程序

两家商店根据时区给我订购日期

美国门店位于洛杉矶格林威治标准时间-7JAPAN门店位于东京GMT+9

假设同时售出两个订单

我想按照德国时区的顺序向用户显示订单

我的问题是我应该如何在 mysql 中存储订单日期(时间戳(int)或日期时间)以及如何将这些日期转换为用户的时区

--编辑--

对于那些想要将时间戳转换为带时区的日期时间的人

            $timestamp = 1554280893 ;
$datetimeFormat = 'Y-m-d H:i:s';

$date = new DateTime("America/New_York");

$date->setTimestamp($timestamp);

$utc=new DateTime($date->format($datetimeFormat),new DateTimeZone("America/New_York"));

$utc->setTimezone(new DateTimeZone("UTC"));

echo $utc->format("Y-m-d H:i:s");

我将所有时间戳转换为 UTC 格式并存储在数据库中。然后我使用 Mysql 的 CONVERT_TZ() 函数根据用户的时区对所有数据进行排序

最佳答案

UTC 是在 mysql 中保存日期和时间的较好格式。始终根据用户的区域显示。

首先:先转换时间再存入MySQL。

第二个: 通过(在您的 mysql 查询中)使用 CAST

SELECT CAST(getdate() AS date);

希望这将通过使用 mysql 日期和时间函数来解决。有关详细信息,请查看此内容:

mysql date and time functions

关于php - 根据用户的时区按顺序显示不同时区的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55489028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com