1. 程式人生 > >C#字串轉DateTime

C#字串轉DateTime

廢話不多說,直接貼程式碼

//將此時的時間轉化成例如20180808型別的字串
string strDate = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00");
//若執行如下程式碼會發生轉換錯誤問題
DateTime dTime = convert.ToDateTime(strDate);
//執行如下程式碼可解決問題
DateTime dTime = DateTime.ParseExact(strDate , "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);

本著做人應該有的 好學 精神 所以藉此機會來學習一下 DateTime.ParseExact() 這個方法: 轉到定義瞅一眼

		// 摘要:
        //     使用指定的格式和區域性特定格式資訊,將日期和時間的指定字串表示形式轉換為其等效的 System.DateTime。字串表示形式的格式必須與指定的格式完全匹配。
        //
        // 引數:
        //   s:
        //     包含要轉換的日期和時間的字串。
        //
        //   format:
        //     用於定義所需的 s 格式的格式說明符。
        //
        //   provider:
        //     一個物件,提供有關 s 的區域性特定格式資訊。
        //
        // 返回結果:
        //     System.DateTime,等效於由 format 和 provider 所指定的 s 中包含的日期和時間。
        //
        // 異常:
        //   T:System.ArgumentNullException:
        //     s 或 format 為 null。
        //
        //   T:System.FormatException:
        //     s 或 format 是空字串。- 或 -s 不包含與 format 中指定的模式相對應的日期和時間。- 或 -s 中的小時組成部分和 AM/PM 指示符不一致。

        public static DateTime ParseExact(string s, string format, IFormatProvider provider);

就醬,可以說是很清楚了