将 UTC 日期时间存储在数据库中

发布于 2024-09-24 18:56:55 字数 84 浏览 2 评论 0原文

我将转换所有日期和日期用户输入的时间(本地时间)为 UTC 并将其存储在数据库中。当显示回来时,我会将 UTC 时间转换为其个人资料中设置的时区。好不好?

I will convert all date & time input by user (local time) to UTC and store it in database. When display back I will convert UTC time to their time zone which is set in their profile. Is it good?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

小…楫夜泊 2024-10-01 18:56:55

我认为这已经足够好了。除了在配置文件中存储用户时区外,您还可以让客户端(例如javascript)根据用户计算机时区转换UTC时间。

I think it's good enough. Besides storing user timezone in profile, you can also let client (for example, javascript) convert UTC time according to user computer time zone.

羁客 2024-10-01 18:56:55

只要您可以从存储的数据库记录与任何时区进行转换,这就是您所需要的。

你所描述的将会起作用。

As long as you can convert to/from any time zone from your stored DB records, that's all you need.

What you've described will work.

若水般的淡然安静女子 2024-10-01 18:56:55

请注意一些关于时区的 MySQL 文档 ;服务器/客户端工作原理:

每个连接的时区。
每个连接的客户端都有自己的时区设置,由会话 time_zone 变量给出。最初,会话变量从全局 time_zone 变量获取其值,但客户端可以使用以下语句更改自己的时区:
mysql>设置 time_zone = 时区;

因此,通常情况下,在您提出的解决方案中,一切都正确,但不要让实际的服务器或客户端时区更改引起您的警惕。

Note some MySQL documentation in regards to timezone & server/client workings:

Per-connection time zones.
Each client that connects has its own time zone setting, given by the session time_zone variable. Initially, the session variable takes its value from the global time_zone variable, but the client can change its own time zone with this statement:
mysql> SET time_zone = timezone;

So, normally, in your proposed solution, all is right, but don't let the actual server or client timezone changing catch you of guard.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文