2014-02-27 11 views
1

我必須在DateTime中轉換下面的字符串。我已經使用了下面的代碼,但它不起作用。在Date Time中轉換特定類型的sting

DateTime created = DateTime.ParseExact("Sun Feb 23 2014 00:00:00 GMT+0550", "ddd mmm d yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); 

我的字符串,而我必須在日期時間轉換is--

Sun Feb 23 2014 00:00:00 GMT+0550 
+0

你得到任何錯誤?目前存儲在'created'中的是什麼? – Cybercop

回答

1

你需要大寫月和'GMT'zzz

DateTime created = DateTime.ParseExact("Sun Feb 23 2014 00:00:00 GMT+0550" 
      , "ddd MMM dd yyyy HH:mm:ss 'GMT'zzz" 
      , System.Globalization.CultureInfo.InvariantCulture); 
+0

謝謝你,它工作。 – user3206357

1

我會分析這是一個DateTimeOffset,而不是一個DateTime - 畢竟,這是你一直的數據給出。假設使用GMT+...指定總是,則可以使用格式字符串"ddd MMM d yyyy HH:mm:ss 'GMT'zzz"。特別要注意:

  • MMM縮寫月份名稱,而不是mmm
  • 'GMT'將始終與字母 'GMT'
  • zzz是UTC偏移,包括分鐘。這將是格式化爲用冒號,但顯然它是足夠寬容沒有指定的冒號。

示例代碼:

using System; 
using System.Globalization; 

class Test 
{ 
    static void Main() 
    { 
     var dto = DateTimeOffset.ParseExact 
      ("Sun Feb 23 2014 00:00:00 GMT+0550", 
      "ddd MMM d yyyy HH:mm:ss 'GMT'zzz", 
      CultureInfo.InvariantCulture); 
     Console.WriteLine(dto); // 23/02/2014 00:00:00 +05:50 
    } 
} 
1

試試這個:

DateTime created = DateTime.ParseExact("Sun Feb 23 2014 00:00:00 GMT+0550", 
    "ddd MMM d yyyy HH:mm:ss 'GMT'zzz", 
    System.Globalization.CultureInfo.InvariantCulture); 
+0

謝謝你,它工作。 – user3206357

相關問題