簡體   English   中英

到目前為止的字符串 - 在C#[“Mon Jan 13 2014 00:00:00 GMT + 0000(GMT標准時間)”]

[英]string to date - in C# [ “Mon Jan 13 2014 00:00:00 GMT+0000 (GMT Standard Time)”]

我有一種情況,我以下列格式收到日期作為字符串。

“2014年1月13日星期一00:00:00 GMT + 0000(GMT標准時間)”

我需要將其轉換為c#中的以下格式(日期/字符串)以進行進一步處理

YYYY-MM-DD (2014-01-13)

Convert.ToDateTime(SelectedData)    

以上代碼出現以下錯誤:

'Convert.ToDateTime(SelectedData)' threw an exception 
       of type 'System.FormatException' System.DateTime {System.FormatException}

有什么建議?

我無法更改我收到日期最佳問候的格式。

您將需要使用DateTime.ParseExact

var date = DateTime.ParseExact(
    "Mon Jan 13 2014 00:00:00 GMT+0000 (GMT Standard Time)",
    "ddd MMM dd yyyy HH:mm:ss 'GMT'K '(GMT Standard Time)'",
    CultureInfo.InvariantCulture);

解析完日期后,您可以將其發送出去:

date.ToString("yyyy-MM-dd");

這是一個證明它的Ideone

Convert.ToDateTime使用標准的日期和時間格式,這不是標准的DateTime格式

如果你的GMT+0000 (GMT Standard Time)是你的字符串中的defult,你可以使用DateTime.ParseExact來代替;

string s = "Mon Jan 13 2014 00:00:00 GMT+0000 (GMT Standard Time)";
var date = DateTime.ParseExact(s,
           "ddd MMM dd yyyy HH:mm:ss 'GMT+0000 (GMT Standard Time)'",
           CultureInfo.InvariantCulture);
Console.WriteLine(date.ToString("yyyy-MM-dd"));

輸出將是;

2014-01-13

這是一個demonstration

欲了解更多信息,請訪問:

string date = SelectedData.Substring(4, 11);
string s = DateTime.ParseExact(date, "MMM dd yyyy", CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM