gpt4 book ai didi

c# - 在客户端上显示服务器日期和服务器时间

转载 作者:行者123 更新时间:2023-11-28 09:14:47 25 4
gpt4 key购买 nike

我有一个 C# 时间应用程序,用户可以在其中创建一个计时器并启动它,它将在服务器上执行类似的操作:

(日期存储在 CEST 中(问题是夏令时和冬令时))

// insert into db
var entry = new TimeEntry();
entry.Start = DateTime.Now; (04/03/2013 12:00)

_timeEntries.Add(entry); // => now it's in the db

如果他阻止它,它就会做类似的事情:

// update the entry
var entry = _timeEntries.Get(1) // 1 is the id from the created entry before
entry.End = DateTime.Now; (04/03/2013 12:37)

_timeEntrires.Update(entry); // => now it updates it in the db

将在浏览器中向用户显示类似的内容:

计时器 ID:1

开始时间:2013年4月3日12:00

停止:2013年4月3日12:25

总计(分钟):25

现在我认为当用户更改时区时会出现一些问题。解决这个问题的最佳方法是什么?将日期存储为 UTC,然后使用 JavaScript 进行转换?

感谢您的帮助:-)。

最佳答案

来自:Determine a User's Timezone

您必须将偏移量从客户端传递到服务器,如下所示:

new Date().getTimezoneOffset()/60;

getTimezoneOffset() will subtract your time from GMT and return the number of minutes. So if you live in GMT-8, it will return 480. To put this into hours, divide by 60. Also, notice that the sign is the opposite of what you need -- it's calculating GMT's offset from your time zone, not your time zone's offset from GMT. To fix this, simply multiply by -1.

关于c# - 在客户端上显示服务器日期和服务器时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15785243/

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