2010-08-24 117 views
1

作爲後續鏈接的後續。如何從UTC日期格式獲取正確的時區(服務器時區)

How to format this date type 2010-06-24T00:00:00Z to sun,24/06/10 7.15 p.m (CDT) using javascript or jquery

我UTC日期格式轉換爲簡單的日期格式。 (CDT)(轉換時間) 2010-06-24T00:00:00Z到太陽,24/06/10但是有沒有一種方法來識別有效時區,基於客戶端m/c的區域。 還是我們無法從UTC檢測到有效時區?

欣賞快速反應。

回答

0

UTC沒有時區,它是「通用」的,因爲無論你身在何處,它總是一樣的。時區信息必須由觀察者確定。

0

您沒有定義「有效時區」的含義 - 您的意思是本地時區? (UTC畢竟是一個完全有效的時區 - 或者至少是在西歐時區,而不是英國夏令時...)

如果你有一個UTC日期,你想轉它爲本地時區的日期,這是簡單的:

function UTCtoLocal(inDate) { 
    // inDate can be null, a string or an object 
    // if it's an object, it can be a date or event 

    var localDate = new Date(); 
    var utcDate = new Date().toUTCString(); 

    if (inDate) { 
     if (typeof inDate == "string") { 
      utcDate = inDate; 
     } 
     else { 
      if (inDate.getDay) { // is it really a date? 
       utcDate = inDate.toString(); 
      } 
     } 
    } 

    utcDate = utcDate.substr(0, utcDate.length-3); 
    localDate.setTime(Date.parse(utcDate)); 
    return localDate; 
} 
0

您可以使用下面的代碼在C#中通過將時區值來獲得的日期(例如:  +08:00:00)

Console.WriteLine("Enter the Time zone: "); 
      string zoneInfo = Console.ReadLine(); 
      int Flags = 0; 
      ReadOnlyCollection<TimeZoneInfo> zones = TimeZoneInfo.GetSystemTimeZones(); 
      string myTime = ""; 
      string displayName = ""; 
      foreach (var timeZoneInfo in zones) 
      { 
       if (timeZoneInfo.BaseUtcOffset`enter code here`.ToString().Equals(zoneInfo)) 
       { 
        string timeZoneId = timeZoneInfo.Id;`enter code here` 
        myTime = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById(timeZoneId)).ToString(); 
        displayName = timeZoneInfo.DaylightName.ToString(); 
        break; 
       } 
      } 
      Console.WriteLine(displayName + ":" + myTime); 
      Console.ReadLine(); 
相關問題