簡體   English   中英

C#和當前不同國家/地區的當地時間

[英]C# and Current Local time for different countries

C#提供了一種通過DateTime.Now獲取當前日期的方法。 但問題是我的服務器在美國,當我使用DateTime.Now時,我得到美國時間

有沒有辦法在C#中獲取特定國家/地區的當前時間,因為我的用戶來自世界各地? (我有每個用戶的語言環境,所以如果我能獲得每個語言環境的當前時間,那么我很安全)

我已經看過使用時區的方法,但后來我必須保持時區與國家參考。

我搜索過,這里的大部分問題都是關於將UTC時間轉換為本地時間,反之亦然。 希望有人能夠啟發我。

使用UTC時間(DateTime.UtcNow)在服務器中節省您的時間,然后根據用戶時區,您將更改此時間。 永遠不要在db中保存當地時間

只需看看TimeZoneInfo類。 您應該能夠在保持夏令時(夏令時)的同時,在本地與服務器之間進行轉換。

DateTimeOffset newTime = TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("AppTimeZone"));

您還可以通過Great Jon Skeet Noda Time之一找到開源時區實施

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM