首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于另一个时区中的服务器的DateTime.Now。

用于另一个时区中的服务器的DateTime.Now。
EN

Stack Overflow用户
提问于 2015-09-02 13:49:38
回答 2查看 1.1K关注 0票数 3

场景

我有一个应用程序托管在美国,但它是由一家公司在亚洲使用。显然,时区是不同的,系统的某些部分使用DateTime.Now编写日志和其他内容。

问题

有没有办法让DateTime.Now

(假设总是得到+6小时与服务器时钟不同)

如何获得本地DateTime (亚洲),而不是服务器(美国)的日期时间?

PS__:我对多个时区没有问题。只是公司总部的时区之一。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-02 13:58:12

处理全局操作的日期时间的最佳实践是始终使用UTC格式存储所有数据,并且在显示数据时应根据客户端时区将其转换为本地日期时间。

票数 5
EN

Stack Overflow用户

发布于 2015-09-02 14:09:09

看看DateTimeOffset https://msdn.microsoft.com/en-us/library/system.datetimeoffset(v=vs.110).aspx

它代表了一个相对于UTC的点时间。当DateTime可能从不同的时区生成时,这是存储它的好方法。

但是,您已经在使用DateTime.Now,您需要一个解决问题的方法。您可以像这样转换时区(假设您想从应用程序运行的亚洲转换到eua):

代码语言:javascript
复制
var convertedDateTime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(
    yourDateTime, TimeZoneInfo.Local.Id, "Pacific Standard Time");

请参阅https://msdn.microsoft.com/en-us/library/ms912391(v=winembedded.11).aspx以找到解决问题的确切时区。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32355044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档