熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

使用.NET Framework中新的日期時間類型[4]

2022-06-13   來源: .NET編程 

  如果在轉換時指定的時間是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值

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


From:http://tw.wingwit.com/Article/program/net/201311/14875.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.