gpt4 book ai didi

.net - ASP.Net 时间本地化

转载 作者:行者123 更新时间:2023-12-04 14:53:20 25 4
gpt4 key购买 nike

我正在一个允许用户添加日历条目的网站上工作,然后在主页上所有用户都可以看到这些条目,其中包含一些文字,例如这些条目是最新的

条目 1 : 5 分钟
条目 2 : 7 小时
条目 3 : 4 天

我遇到的问题是每个人都可能处于不同的时区。我决定要以格林威治标准时间存储所有时间/日期。

我正在纠结的是,当用户提交日历条目时说 2009 年 1 月 1 日上午 10 点 30 分,然后我需要计算出这个日期时间是格林威治标准时间的存储时间。有没有办法知道用户本地时区/时间是什么,以便我可以将其与服务器时间 (GMT) 进行比较以进行转换?

我真的希望这是有道理的。我希望我可以做到这一点,而不必询问用户他们所在的时区,或强制用户以格林威治标准时间输入所有日期时间。

最佳答案

在将日期时间发送到服务器之前,将日期时间转换为 GMT 客户端(如果这是一个 Web 应用程序,则在 JavaScript 中)。让服务器只使用 GMT(我会说 UTC)。显示日期/时间也是一样。发送 GMT/UTC 给客户端,让 JS 本地化。在我看来,这是唯一完全安全的方法,因为您让用户操作系统来确定应该是什么时间。

还有其他原因的方法,如果您只需要知道客户现在的时间是什么,您可以从中获取偏移量(可以通过 JS 等检索)。但是,如果您需要不同位置的历史和 future 日期/时间的准确日期/时间,您最好让客户处理它。

PS:在我的 TimeZone 实现中,我也使用 UNIX 时间格式在客户端和服务器之间进行通信。这很容易解析,我相信它是 JS 的原生日期时间格式。我现在不能为你展示我的代码,但谷歌应该相对容易。

关于.net - ASP.Net 时间本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/548852/

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