首页 新闻 会员 周边

C#中DateTime如何转换为DateTimeOffset

0
悬赏园豆:30 [已解决问题] 解决于 2017-02-05 22:08

请问在 C# 中如何将 DateTime 转换为 DateTimeOffset ?

C#
dudu的主页 dudu | 高人七级 | 园豆:30994
提问于:2017-02-05 16:54
< >
分享
最佳答案
0

DateTime可以直接赋值给DateTimeOffset:

DateTimeOffset dtOffset = DateTime.Now;

但是下面的代码:

DateTimeOffset dtOffset = default(DateTime);

会报错:

The UTC time represented when the offset is applied must be between year 0 and 10,000

正确的解决方法(来源)是:

public static class DateTimeExtensions
{
    public static DateTimeOffset ToDateTimeOffset(this DateTime dateTime)
    {
        return dateTime.ToUniversalTime() <= DateTimeOffset.MinValue.UtcDateTime
                   ? DateTimeOffset.MinValue 
                   : new DateTimeOffset(dateTime);
    }
}
dudu | 高人七级 |园豆:30994 | 2017-02-05 22:07
其他回答(1)
1
收获园豆:30
Jeffcky | 园豆:2789 (老鸟四级) | 2017-02-05 16:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册