时间一致性
对于时间类型,如果客户端和服务器不在同一个时区,如何让时间同步?就需要在写入数据库的时候统一转换成协调世界时(UTC),在客户端读的时候再转换成本低时间。
// 把美国东部标准时间转换成本低时间
DateTime source= DateTime.SpecifyKind(USEasternStandardTime,DateTimeKind.Unspecified);
DateTime utcTime = TimeZoneInfo.ConvertTimeToUtc(source, TimeZoneInfo.FindSystemTimeZoneById("US Eastern Standard Time"));
result = TimeZoneInfo.ConvertTimeFromUtc(utcTime, TimeZoneInfo.Local);
时区的获取可以如下
var lst = TimeZoneInfo.GetSystemTimeZones();
foreach (TimeZoneInfo tzi in lst)
{
Console.WriteLine(tzi.Id);
}