c#

位置:IT落伍者 >> c# >> 浏览文章

使用.NET Framework中新的日期时间类型[4]


发布日期:2019年09月07日
 
使用.NET Framework中新的日期时间类型[4]

如果在转换时指定的时间是Unspecified转换后产生的DateTimeOffset的值的偏移量将会为本地时区如下代码所示

static void Main(string[] args)

{

DateTime dateA = new DateTime( );

DateTime dateB = DateTimeSpecifyKind(dateA DateTimeKindUnspecified);

DateTimeOffset dateC = dateB;

ConsoleWriteLine(dateB);

ConsoleWriteLine(dateC);

}

输出结果如下图所示可以看到它产生的输出是本地时区

这一点其实从DateTimeOffset的一个参数为DateTime的构造函数中就能够看出来它只判断DateTime是否为UTC否则就取当前本地时区的偏移量

public DateTimeOffset(DateTime dateTime) {

TimeSpan offset;

if (dateTimeKind != DateTimeKindUtc) {

// Local 和 Unspecified 都转换为Local

offset = TimeZoneCurrentTimeZoneGetUtcOffset(dateTime);

}

else {

offset = new TimeSpan();

}

m_offsetMinutes = ValidateOffset(offset);

m_dateTime = ValidateDate(dateTime offset);

}

转换DateTimeOffset为DateTime

在转换一个DateTimeOffset类型为DateTime类型时可以使用如下几个属性

DateTime属性返回一个指示为Unspecified的DateTime值

[] [] [] [] [] [] []

               

上一篇:使用.NET Framework中新的日期时间类型[2]

下一篇:使用.NET Framework中新的日期时间类型[3]