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...