string str = DateTime.Now.ToString("yyyyMMdd"); string[] format = {"yyyyMMdd"}; DateTime date; if (DateTime.TryParseExact(str, format, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out date)) { .... } else ....
實例:
string date="20210131"; DateTime res; string[] format = { "yyyyMMdd" }; string[] weeks = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; if (DateTime.TryParseExact(date, format, CultureInfo.CurrentCulture, DateTimeStyles.None, out res)) { int a = (int)(res.DayOfWeek); Console.WriteLine(weeks[a]); //判斷星期幾 Console.WriteLine(res.ToString("yyyy-MM-dd")); //輸出轉化后的日期 Console.ReadLine(); } else { throw new Exception("轉化出錯"); }
需要注意的是這里的format要和傳進來的字符串的格式一致,
不一定要求是yyyyMMdd,還可以是yyyy-MM-dd或者yyyy/MM/dd,甚至可以加上hh:mm:ss。
只要傳入的格式是一致的,都能轉換成日期類型,然后進行格式轉換。
這樣可以實現各種日期格式之間的相互轉換。
另外。如果給定的日期格式是標准的yyyy-MM-dd,要轉換成其他類型,可以使用ToDateTime()。
public static string ConvertTime(string timeString) { DateTime time = Convert.ToDateTime(timeString); return time.ToString("yyyyMMddhhmmss"); }