2009-04-05

Universal Time 轉換成 Local Time

最近在撈取資料庫資料時,遇到一個問題
在這些資料中,有一些關於Date的資料
但這些時間全部存的都是Universal Time
當我直接撈回Local端來呈現報表時,會遇到時間錯亂的狀況

接下來的程式部份,是參考公司裡林大哥的程式

public static string[] SPFDateFormats = new string[] { "yyyy/MM/dd-HH:mm:ss", "yyyy/MM/dd-HH:mm:ss:fff", "yyyy/MM/dd" };    

public static DateTime ToUniversalTime(string pstrServerDate)
 
{
 
    DateTimeFormatInfo provider = new DateTimeFormatInfo();
    provider.DateSeparator = "/";
    provider.TimeSeparator = ":";
    try
    {
    
    return DateTime.ParseExact(pstrServerDate, SPFDateFormats, provider, DateTimeStyles.None);
    }
    catch (Exception exception)
    {                
    
    return DateTime.ParseExact("9999/12/31-23:59:59:999", SPFDateFormats, provider, 
    
    DateTimeStyles.None);
    }
 
}

這樣轉出來就會是Local Time。
先大概記錄下來。。或許以後還會使用到

參考資料:
1.DateTimeStyles
2.DateTime.ParseExact
3.DateTimeFormatInfo

沒有留言:

張貼留言