![](/img/trans.png)
[英]Wrong offset GMT Standard Time on Windows 10: +00:00 instead of +01:00
[英]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.