DateTime的使用 轉換

2021-04-23 01:12:01 字數 1552 閱讀 2098

datetime.tostring()是乙個好東西,也非常便於使用,基本上你指定什麼他就顯示什麼,呵呵,沒錯,是「基本上」,ms有時候不太好用,比如下面這段:

static

void main(string args)

你能看出最終的輸出結果是什麼嗎?猜一猜,哪行會和你預想的不一樣?

看結果:

20070121

2007-01-21

2007-01-21

2023年01月21日

2007~01~21

第三行~~~~~~~~~

為什麼datetime.now.tostring("yyyy/mm/dd")的輸出結果不是 2007/01/21 呢?去控制面板裡設定一下計算機的短日期格式,發現這個是受計算機短日期格式的影響,可是這個tostring()是不是不應該存在這個問題?不是說好「自定義」的嗎?

引申問題:如何用tostring()輸出 2007/01/21 這個樣子的格式呢?修改計算機設定的那個辦法不算數

解決方法倒是有,使用tostring()的另乙個過載:

datetime.now.tostring("yyyy/mm/dd", system.globalization.datetimeformatinfo.invariantinfo);

不過還是感覺不爽啊

datetime.tostring()中的時間格式模式詳細說明 :

d 月中的某一天。一位數的日期沒有前導零。

dd 月中的某一天。一位數的日期有乙個前導零。

ddd 週中某天的縮寫名稱,在 abbreviateddaynames 中定義。

dddd 週中某天的完整名稱,在 daynames 中定義。

m 月份數字。一位數的月份沒有前導零。

mm 月份數字。一位數的月份有乙個前導零。

mmm 月份的縮寫名稱,在 abbreviatedmonthnames 中定義。

mmmm 月份的完整名稱,在 monthnames 中定義。

y 不包含紀元的年份。如果不包含紀元的年份小於 10,則顯示不具有前導零的年份。

yy 不包含紀元的年份。如果不包含紀元的年份小於 10,則顯示具有前導零的年份。

yyyy 包括紀元的四位數的年份。

gg 時期或紀元。如果要設定格式的日期不具有關聯的時期或紀元字串,則忽略該模式。

h 12小時制的小時。一位數的小時數沒有前導零。

hh 12小時制的小時。一位數的小時數有前導零。

h 24小時制的小時。一位數的小時數沒有前導零。

hh 24小時制的小時。一位數的小時數有前導零。

m 分鐘。一位數的分鐘數沒有前導零。

mm 分鐘。一位數的分鐘數有乙個前導零。

s 秒。一位數的秒數沒有前導零。

ss 秒。一位數的秒數有乙個前導零。

如何實現日期和am/pm的格式??(04/01/2003   pm) ?

解決方案:

datetime   dt   =   datetime.now;  

response.write(dt.tostring("yyyy-mm-dd   hh:mm,tt"));

關於DateTime的轉換

當函式需要乙個datetime型別的變數,但傳入的值drselect 某列名 tostring 輸出來後,顯示為20080501這個格式時,要注意這種格式不能轉化為datetime型別的變數,應該轉化成2008 05 01這種 形式就可以了。datetime dt new datetime stri...

DateTime型別轉換

日期和時間資料型別代表日期和一天內的時間,包括datetime型和smalldatetime型。我們這裡使用的是dtatetime型別,第一把datetime型別轉換為string型別 名稱自定義,定義好了時間string型別,之後就在get裡面定義時間格式。如下 public string str...

datetime到string的轉換

0 feb 22 2006 4 26pm convert char 19 current timestamp,0 102 22 06 convert char 8 current timestamp,1 206.02.22 convert char 8 current timestamp,2 322...