C# DateTimeOffset 使用
作者:C/S框架网|www.csframewo  发布日期:2023/03/22 13:39:49
  C# DateTimeOffset 使用



C# Code:


private DateTimeOffset GetDateTimeOffset()
{
  DateTime now
= DateTime.Now;//DateTime.Now返回的DateTime类型,默认情况下其Kind属性为DateTimeKind.Local
  
DateTimeKind dateTimeKind = now.Kind;//DateTimeKind.Local
  
  
//因为当前操作系统设置的时区是UTC+8,所以如果这里DateTimeOffset构造函数的第二个参数不是8小时的TimeSpan(这里我们设置为了UTC+10),就会抛出异常:System.ArgumentException: 'The UTC Offset of the local dateTime parameter does not match the offset argument. (Parameter 'offset')'
  
//DateTimeOffset nowOffset = new DateTimeOffset(now, TimeSpan.FromHours(10));
  
  
//所以我们要将DateTime类型的Kind属性,通过方法DateTime.SpecifyKind转换为DateTimeKind.Unspecified
  
now = DateTime.SpecifyKind(now, DateTimeKind.Unspecified);
  
  
//这样DateTimeOffset构造函数的第二个参数就可以是表示任何时区的TimeSpan了,不会抛出异常,这里我们设置为了UTC+10
  
DateTimeOffset nowOffset = new DateTimeOffset(now, TimeSpan.FromHours(10));
  
return nowOffset;
}


//来源:C/S框架网 | www.csframework.com | QQ:23404761





C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇