C 中字串轉換成日期

2021-09-02 14:44:52 字數 1764 閱讀 5385

我們在處理字串日期格式常用datetime.pares() 但是這個形式的轉換是相當有限的,有些c#是會不懂你寫入的日期格式的如20031231。那麼類似 「20100101」 或者其它形式的字串如何轉換成日期型呢?

一、拼接字串的形式

datetime dt=convert.

todatetime

("20100101"

.substring(0

,4)+

"-"+

"20100101"

.substring(4

,2)+

"-"+

"20071107"

.substring(6

,2))

;

二、convert.todatetime(string)

string格式有要求,必須是yyyy-mm-dd hh:mm:ss

三、convert.todatetime(string, iformatprovider)

datetime dt;
datetimeformatinfo dtformat = new system.globalizationdatetimeformatinfo();
dtformat.shortdatepattern =

"yyyy/mm/dd"

;

dt = convert.

todatetime

("2011/05/26"

, dtformat)

;

四、datetime.parseexact()

string datestring =

"20110526"

;

datetime dt = datetime.

parseexact

(datestring,

"yyyymmdd"

, system.globalization.cultureinfo.currentculture)

;

//或者
datetime dt = datetime.

parseexact

(datestring,

"yyyymmdd"

, system.globalization.cultureinfo.invariantculture)

;

五、datetime.tryparse(string,out datetime)

1、更多時候,會採用datetime.tryparse(string,out datetime)方法,因為此方法有安全機制,當string內容不正確時,可以返回日期的最小值minvalue。並且可以通過返回的bool值判斷轉化是否成功。而datetime.parseexact()需要按特定的格式來轉換,對格式的要求比較嚴,如果string中不是日期內容,而量類似「asdfasd」的字串,則會出錯。

2、用datetime.tryparse(string,out datetime)轉換後,得到的datetime可以用 datetime.tostring(「ddd, mmm. dd」)來轉換為特殊需求的格式,比較靈活方便。

C 中字串轉換成日期

我們在處理字串日期格式常用datetime.pares 但是這個形式的轉換是相當有限的,有些c 是會不懂你寫入的日期格式的如20031231。那麼類似 20100101 或者其它形式的字串如何轉換成日期型呢?一 拼接字串的形式 datetime dt convert.todatetime 20100...

C 中字串轉換成日期

我們在處理字串日期格式常用datetime.pares 但是這個形式的轉換是相當有限的,有些c 是會不懂你寫入的日期格式的如20031231。那麼類似 20100101 或者其它形式的字串如何轉換成日期型呢?一 拼接字串的形式 datetime dt convert.todatetime 20100...

mysql中如何把字串轉換成日期型別

select date format 2013 03 09 y m d select date format 2013 03 09 y m d select str to date 2013 03 09 y m d select str to date 2012 10 11 16 42 30 y m...