基于DateTime.ParseExact方法的使用詳解
更新時間:2013年05月18日 10:10:15 作者:
本篇文章是對DateTime.ParseExact方法的使用進行了詳細的分析介紹,需要的朋友參考下
參數(shù)說明
CultureInfo.CurrentCulture獲取當(dāng)前線程的區(qū)域信息中,包括DateTimeFormat 日期顯示格式(日期分隔符)和 NumberFormat 貨幣。
試例:
1、時間中沒有使用分割符的情況:
string temp = "18991230" ;
DateTime dateTemp = DateTime.ParseExact(temp, "yyyyMMdd", CultureInfo.CurrentCulture, DateTimeStyles.None);
2、時間中使用分割符的情況:
string temp = "1899-12-30" ;
DateTime dateTemp = DateTime.ParseExact(temp, "yyyy-MM-dd", CultureInfo.CurrentCulture, DateTimeStyles.None);
DateTime dateTemp = DateTime.ParseExact(temp, "yyyy/MM/dd", CultureInfo.CurrentCulture, DateTimeStyles.None);
都正確,原因:
CultureInfo.CurrentCulture獲取當(dāng)前線程的CultureInfo的DateTimeFormat屬性作為IFormatProvider,然后在DateTimeParse.ParseByFormat方法中,遇到format參數(shù)的/字符時,會比較輸入日期字符串的當(dāng)前字符是否為當(dāng)前DateTimeFormatInfo的DateSeperator,如果是,則返回true,即允許轉(zhuǎn)換,如果不是則返回false。當(dāng)前線程的區(qū)域信息中,日期分隔符即為-,因此,轉(zhuǎn)換得以成功。
像有分割符的情況最好使用下面方式:
string temp = "1899-12-30" ;
DateTimeFormatInfo dtfi = new CultureInfo("zh-CN", false).DateTimeFormat;
DateTime dateTemp = DateTime.ParseExact(temp "yyyy-MM-dd", dtfi, DateTimeStyles.None) ; //使用當(dāng)前分割符
CultureInfo.CurrentCulture獲取當(dāng)前線程的區(qū)域信息中,包括DateTimeFormat 日期顯示格式(日期分隔符)和 NumberFormat 貨幣。
試例:
1、時間中沒有使用分割符的情況:
復(fù)制代碼 代碼如下:
string temp = "18991230" ;
DateTime dateTemp = DateTime.ParseExact(temp, "yyyyMMdd", CultureInfo.CurrentCulture, DateTimeStyles.None);
2、時間中使用分割符的情況:
復(fù)制代碼 代碼如下:
string temp = "1899-12-30" ;
DateTime dateTemp = DateTime.ParseExact(temp, "yyyy-MM-dd", CultureInfo.CurrentCulture, DateTimeStyles.None);
DateTime dateTemp = DateTime.ParseExact(temp, "yyyy/MM/dd", CultureInfo.CurrentCulture, DateTimeStyles.None);
都正確,原因:
CultureInfo.CurrentCulture獲取當(dāng)前線程的CultureInfo的DateTimeFormat屬性作為IFormatProvider,然后在DateTimeParse.ParseByFormat方法中,遇到format參數(shù)的/字符時,會比較輸入日期字符串的當(dāng)前字符是否為當(dāng)前DateTimeFormatInfo的DateSeperator,如果是,則返回true,即允許轉(zhuǎn)換,如果不是則返回false。當(dāng)前線程的區(qū)域信息中,日期分隔符即為-,因此,轉(zhuǎn)換得以成功。
像有分割符的情況最好使用下面方式:
復(fù)制代碼 代碼如下:
string temp = "1899-12-30" ;
DateTimeFormatInfo dtfi = new CultureInfo("zh-CN", false).DateTimeFormat;
DateTime dateTemp = DateTime.ParseExact(temp "yyyy-MM-dd", dtfi, DateTimeStyles.None) ; //使用當(dāng)前分割符
您可能感興趣的文章:
- C#中DateTime日期類型格式化顯示方法匯總
- c#詳解datetime使用示例
- c#友好顯示日期 c#日期datetime使用方法
- c# datetime 格式化大全
- c# DateTime常用操作實例(datetime計算時間差)
- 深入Unix時間戳與C# DateTime時間類型互換的詳解
- 使用DateTime的ParseExact方法實現(xiàn)特殊日期時間的方法詳解
- c#中DateTime.Now函數(shù)的使用詳解
- asp.net利用cookie保存用戶密碼實現(xiàn)自動登錄的方法
- asp.net中button控制先執(zhí)行js再執(zhí)行后臺程序的方法
- .NET的DateTime函數(shù)獲取上個月的起始和截止時間的方法
相關(guān)文章
關(guān)于C#中使用Oracle存儲過程返回結(jié)果集的問題
Oracle中可以使用游標(biāo)(Cursor)對數(shù)據(jù)集進行操作,但在存儲過程輸出參數(shù)中直接使用Cursor錯誤,下面小編給大家?guī)砹薈#中使用Oracle存儲過程返回結(jié)果集的問題,感興趣的朋友一起看看吧2021-10-10C#實現(xiàn)json格式轉(zhuǎn)換成對象并更換key的方法
這篇文章主要介紹了C#實現(xiàn)json格式轉(zhuǎn)換成對象并更換key的方法,涉及C#操作json格式數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下2015-06-06C# Chart折線圖使用鼠標(biāo)滾輪放大、縮小和平移曲線方式
這篇文章主要介紹了C# Chart折線圖使用鼠標(biāo)滾輪放大、縮小和平移曲線方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06