C# DateTime的 ParseExact和 TryParseExact 使用說明


最近需要把“20121010”轉換為“2012-10-10”格式,直接用Convert.ToDateTime("20121010"),系統報錯“未被識別的DateTime類型”。

解決方法:

 

一、DateTime.ParseExact

 

string str = "20121010"


 IFormatProvider ifp = new CultureInfo("zh-CN"true); 

DateTime dt = DateTime.ParseExact(str, "yyyyMMdd", ifp); 

MessageBox.Show(dt.ToString("yyyy-MM-dd")); 

二、DateTime.TryParseExact

 

string str = "20121010";

 

DateTime dt; 


IFormatProvider ifp = new CultureInfo("zh-CN"true);


if (DateTime.TryParseExact(str, "yyyyMMdd", ifp, DateTimeStyles.None, out dt)) 

{
      MessageBox.Show(dt.ToString(("yyyy-MM-dd"));

}

 

在C#中如果將一個字符串類型的日期轉換成日期類型很方便的

即使用Convert.ToDateTime("2015/01/01").ToString()或DateTime.TryParse 可完成轉換,前提是字符串里的格式必須是系統可以識別的日期格式
如:
yyyy-MM-dd
yyyy/MM/dd
等等....
如果字符串中的格式是自定義的話(yyyyMMdd),那么系統的方法就無法直接完成轉換(雖然字符串的內容是日期,如20111021)
還好C#提供了強大的可自定義格式轉換功能,可以完成自定義需求,不廢話直接上代碼 在線Demo
復制代碼
/******************************************************************
 * 創建人:HTL
 * 創建時間:2015-04-08 15:36:35
 * 說明:C# 使用DateTime.TryParseExact將字符串的自定義日期格式轉換成日期類型
 * DEMO Url:http://ideone.com/I6MuaZ
 * Email:huangyuan413026@163.com
 *******************************************************************/
using System;
public class DateTime_TryParseExact_Demo
{
    public static void Main()
    {
        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))
        {
             Console.WriteLine("Custom DateTime Type Convert success:"+date.ToString());
        }
        else
             Console.WriteLine("Custom DateTime Type Convert error ");
    }//end Main
}//end 
復制代碼

 

有圖有真相:
 
參考:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM