禮貌有其需要的格式,試圖數組,並允許您指定空格是允許的DateTime.ParseExact過載:
string[] ss = new string[] { "Jun 29 2016 6:59PM", "Jan 1 1900 12:00AM " };
string[] formats = new string[] { "MMM dd yyyy h:mmtt", "MMM d yyyy hh:mmtt", "MMM dd yyyy hh:mmtt", "MMM d yyyy h:mmtt" };
foreach (string s in ss)
{
Console.WriteLine(DateTime.ParseExact(s, formats, null, DateTimeStyles.AllowWhiteSpaces).ToString("yyyy-MM-dd HH:mm:ss"));
}
但是如果您的日期字符串有點疏忽,您可以使用TryParse
代替:
DateTime d;
foreach (string s in ss)
{
if (DateTime.TryParse(s, out d))
{
Console.WriteLine(d.ToString("yyyy-MM-dd HH:mm:ss"));
}
}
您應該指定一個System.IFormatProvider。
您能澄清[自定義日期和時間格式字符串]的哪一部分(https://msdn.microsoft.com/en-us/library/8kb3ddd4(v = vs.110))。aspx)對日期格式不清楚(比如''d「'與''dd」'區別)? –
請注意,帖子的標題與您遇到的問題完全無關 - 您可能需要重新閱讀[MCVE]關於爲帖子創建示例代碼的指導。 –
檢查日期字符串中的尾部空格 – Fabio