C#時(shí)間的幾種格式轉(zhuǎn)換方法
有時(shí)候我們要對(duì)C#時(shí)間進(jìn)行轉(zhuǎn)換,達(dá)到不同的顯示效果
默認(rèn)格式為:2005-6-614:33:34
如果要換成成200506,06-2005,2005-6-6或更多的該怎么辦呢
我們要用到:DateTime.ToString的方法(String,IFormatProvider)
- usingSystem;
- usingSystem.Globalization;
- Stringformat="D";
- DateTimedate=DataTime,Now;
- Response.Write(date.ToString(format,DateTimeFormatInfo.InvariantInfo));
結(jié)果輸出
Thursday,June16,2005
參數(shù)format格式詳細(xì)用法
格式字符關(guān)聯(lián)屬性/說明
dShortDatePattern
DLongDatePattern
f完整日期和時(shí)間(長(zhǎng)日期和短時(shí)間)
FFullDateTimePattern(長(zhǎng)日期和長(zhǎng)時(shí)間)
g常規(guī)(短日期和短時(shí)間)
G常規(guī)(短日期和長(zhǎng)時(shí)間)
m、MMonthDayPattern
r、RRFC1123Pattern
s使用當(dāng)?shù)貢r(shí)間的SortableDateTimePattern(基于ISO8601)
tShortTimePattern
TLongTimePattern
uUniversalSortableDateTimePattern用于顯示通用時(shí)間的格式
U使用通用時(shí)間的完整日期和時(shí)間(長(zhǎng)日期和長(zhǎng)時(shí)間)
y、YYearMonthPattern
下表列出了可被合并以構(gòu)造自定義模式的模式。這些模式是區(qū)分大小寫的;例如,識(shí)別“MM”,但不識(shí)別“mm”。如果自定義模式包含空白字符或用單引號(hào)括起來的字符,則輸出字符串頁也將包含這些字符。未定義為格式模式的一部分或未定義為格式字符的字符按其原義復(fù)制。
C#時(shí)間格式模式說明
d月中的某一天。一位數(shù)的日期沒有前導(dǎo)零。
dd月中的某一天。一位數(shù)的日期有一個(gè)前導(dǎo)零。
ddd周中某天的縮寫名稱,在AbbreviatedDayNames中定義。
dddd周中某天的完整名稱,在DayNames中定義。
M月份數(shù)字。一位數(shù)的月份沒有前導(dǎo)零。
MM月份數(shù)字。一位數(shù)的月份有一個(gè)前導(dǎo)零。
MMM月份的縮寫名稱,在AbbreviatedMonthNames中定義。
MMMM月份的完整名稱,在MonthNames中定義。
y不包含紀(jì)元的年份。如果不包含紀(jì)元的年份小于10,則顯示不具有前導(dǎo)零的年份。
yy不包含紀(jì)元的年份。如果不包含紀(jì)元的年份小于10,則顯示具有前導(dǎo)零的年份。
yyyy包括紀(jì)元的四位數(shù)的年份。
gg時(shí)期或紀(jì)元。如果要設(shè)置格式的日期不具有關(guān)聯(lián)的時(shí)期或紀(jì)元字符串,則忽略該模式。
h12小時(shí)制的小時(shí)。一位數(shù)的小時(shí)數(shù)沒有前導(dǎo)零。
hh12小時(shí)制的小時(shí)。一位數(shù)的小時(shí)數(shù)有前導(dǎo)零。
H24小時(shí)制的小時(shí)。一位數(shù)的小時(shí)數(shù)沒有前導(dǎo)零。
HH24小時(shí)制的小時(shí)。一位數(shù)的小時(shí)數(shù)有前導(dǎo)零。
m分鐘。一位數(shù)的分鐘數(shù)沒有前導(dǎo)零。
mm分鐘。一位數(shù)的分鐘數(shù)有一個(gè)前導(dǎo)零。
s秒。一位數(shù)的秒數(shù)沒有前導(dǎo)零。
ss秒。一位數(shù)的秒數(shù)有一個(gè)前導(dǎo)零。
f秒的小數(shù)精度為一位。其余數(shù)字被截?cái)唷?
ff秒的小數(shù)精度為兩位。其余數(shù)字被截?cái)唷?
fff秒的小數(shù)精度為三位。其余數(shù)字被截?cái)唷?
ffff秒的小數(shù)精度為四位。其余數(shù)字被截?cái)唷?
fffff秒的小數(shù)精度為五位。其余數(shù)字被截?cái)唷?
ffffff秒的小數(shù)精度為六位。其余數(shù)字被截?cái)唷?
fffffff秒的小數(shù)精度為七位。其余數(shù)字被截?cái)唷?
t在AMDesignator或PMDesignator中定義的AM/PM指示項(xiàng)的第一個(gè)字符(如果存在)。
tt在AMDesignator或PMDesignator中定義的AM/PM指示項(xiàng)(如果存在)。
z時(shí)區(qū)偏移量(“+”或“-”后面僅跟小時(shí))。一位數(shù)的小時(shí)數(shù)沒有前導(dǎo)零。例如,太平洋標(biāo)準(zhǔn)時(shí)間是“-8”。
zz時(shí)區(qū)偏移量(“+”或“-”后面僅跟小時(shí))。一位數(shù)的小時(shí)數(shù)有前導(dǎo)零。例如,太平洋標(biāo)準(zhǔn)時(shí)間是“-08”。
zzz完整時(shí)區(qū)偏移量(“+”或“-”后面跟有小時(shí)和分鐘)。一位數(shù)的小時(shí)數(shù)和分鐘數(shù)有前導(dǎo)零。例如,太平洋標(biāo)準(zhǔn)時(shí)間是“-08:00”。
:在TimeSeparator中定義的默認(rèn)時(shí)間分隔符。
/在DateSeparator中定義的默認(rèn)日期分隔符。
%c其中c是格式模式(如果單獨(dú)使用)。如果格式模式與原義字符或其他格式模式合并,則可以省略“%”字符。
\c其中c是任意字符。照原義顯示字符。若要顯示反斜杠字符,請(qǐng)使用“\\”。
只有上面第二個(gè)表中列出的格式模式才能用于創(chuàng)建自定義模式;在第一個(gè)表中列出的標(biāo)準(zhǔn)格式字符不能用于創(chuàng)建自定義模式。自定義模式的長(zhǎng)度至少為兩個(gè)字符;例如,
DateTime.ToString("d")返回DateTime值;“d”是標(biāo)準(zhǔn)短日期模式。
DateTime.ToString("%d")返回月中的某天;“%d”是自定義模式。
DateTime.ToString("d")返回后面跟有一個(gè)空白字符的月中的某天;“d”是自定義模式。
比較方便的是,上面的參數(shù)可以隨意組合,并且不會(huì)出錯(cuò),多試試,肯定會(huì)找到你要的時(shí)間格式
如要得到2005年06月這樣格式的C#時(shí)間
C#時(shí)間可以這樣寫:
date.ToString("yyyy年MM月",DateTimeFormatInfo.InvariantInfo)
【編輯推薦】