Jon*_*Jon 4 .net c# asp.net-mvc datetime
我将信息存储在数据库中,并将我的POCO属性设置为DateTime.Now.
显示此值时,它将显示为PST时间.我希望它显示为GMT时间.
我会做这样的事情来显示/存储它还是有更好的方法?
TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("GMT");
var GMTTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now, tz));
Run Code Online (Sandbox Code Playgroud)
此外,它需要考虑夏令时,因为英国在一年中的不同时间改变其时钟而不是美国:
更新:我发现在TimeZone设置中你可以通过GMT标准时间或格林威治标准时间,第一次考虑到DST
将其存储为UTC.它专为与时区无关的时间而设计.
DateTime currentUtcTime = DateTime.UtcNow;
DateTime localTime = currentUtcTime.ToLocalTime();
DateTime backToUtcAgain = localTime.ToUniversalTime();
Run Code Online (Sandbox Code Playgroud)
给定DateTime
是否已经是UTC或本地时间由确定DateTime.Kind
.在序列化/反序列化DateTime
值时(例如,从数据库中),您必须牢记这一点,因为通常不会存储此信息,当您DateTime
退回时,它将在大多数情况下具有值DateTimeKind.Unspecified
,这可能会导致转换方法出现问题.我只是确保DateTimeKind.Utc
在从持久数据存储中加载内容时强制执行.
归档时间: |
|
查看次数: |
3625 次 |
最近记录: |