1、DateTime 數(shù)字型
System.DateTime currentTime=new System.DateTime();
1.1 取當(dāng)前年月日時(shí)分秒
currentTime=System.DateTime.Now;
1.2 取當(dāng)前年
int 年=currentTime.Year;
1.3 取當(dāng)前月
int 月=currentTime.Month;
1.4 取當(dāng)前日
int 日=currentTime.Day;
1.5 取當(dāng)前時(shí)
int 時(shí)=currentTime.Hour;
1.6 取當(dāng)前分
int 分=currentTime.Minute;
1.7 取當(dāng)前秒
int 秒=currentTime.Second;
1.8 取當(dāng)前毫秒
int 毫秒=currentTime.Millisecond;
(變量可用中文)
1.9 取中文日期顯示——年月日時(shí)分
string strY=currentTime.ToString("f"); //不顯示秒
1.10 取中文日期顯示_年月
string strYM=currentTime.ToString("y");
1.11 取中文日期顯示_月日
string strMD=currentTime.ToString("m");
1.12 取當(dāng)前年月日,格式為:2003-9-23
string strYMD=currentTime.ToString("d");
1.13 取當(dāng)前時(shí)分,格式為:14:24
string strT=currentTime.ToString("t");
更多介紹:
在使用Asp.net的過程中,我們經(jīng)常需要對(duì)時(shí)間日期進(jìn)行轉(zhuǎn)換,達(dá)到不同的顯示效果。默認(rèn)格式為:2006-6-6 14:33:34 ,如果要換成成200606,06-2006,2006-6-6或更多的格式該怎么辦呢?
這里將要用到:DateTime.ToString的方法(String, IFormatProvider)
示例:
using System;
using System.Globalization;
String format="D";
DateTime date=DataTime.Now;
Response.Write(date.ToString(format, DateTimeFormatInfo.InvariantInfo));
結(jié)果輸出
Thursday, June 16, 2006
在這里列出了參數(shù)format格式詳細(xì)用法
=======================
格式字符 關(guān)聯(lián)屬性/說明
d ShortDatePattern
D LongDatePattern
f 完整日期和時(shí)間(長(zhǎng)日期和短時(shí)間)
F FullDateTimePattern(長(zhǎng)日期和長(zhǎng)時(shí)間)
g 常規(guī)(短日期和短時(shí)間)
G 常規(guī)(短日期和長(zhǎng)時(shí)間)
m、M MonthDayPattern
r、R RFC1123Pattern
s 使用當(dāng)?shù)貢r(shí)間的 SortableDateTimePattern(基于 ISO 8601)
t ShortTimePattern
T LongTimePattern
u UniversalSortableDateTimePattern 用于顯示通用時(shí)間的格式
U 使用通用時(shí)間的完整日期和時(shí)間(長(zhǎng)日期和長(zhǎng)時(shí)間)
y、Y YearMonthPattern
下表列出了可被合并以構(gòu)造自定義模式的模式
========================================
這些模式是區(qū)分大小寫的;例如,識(shí)別“MM”,但不識(shí)別“mm”。如果自定義模式包含空白字符或用單引號(hào)括起來的字符,則輸出字符串頁也將包含這些字符。未定義為格式模式的一部分或未定義為格式字符的字符按其原義復(fù)制。
格式模式 說明 :
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ì)元字符串,則忽略該模式。
h 12 小時(shí)制的小時(shí)。一位數(shù)的小時(shí)數(shù)沒有前導(dǎo)零。
hh 12 小時(shí)制的小時(shí)。一位數(shù)的小時(shí)數(shù)有前導(dǎo)零。
H 24 小時(shí)制的小時(shí)。一位數(shù)的小時(shí)數(shù)沒有前導(dǎo)零。
HH 24 小時(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)唷?/p>
ff 秒的小數(shù)精度為兩位。其余數(shù)字被截?cái)唷?/p>
fff 秒的小數(shù)精度為三位。其余數(shù)字被截?cái)唷?/p>
ffff 秒的小數(shù)精度為四位。其余數(shù)字被截?cái)唷?/p>
fffff 秒的小數(shù)精度為五位。其余數(shù)字被截?cái)唷?/p>
ffffff 秒的小數(shù)精度為六位。其余數(shù)字被截?cái)唷?/p>
fffffff 秒的小數(shù)精度為七位。其余數(shù)字被截?cái)唷?/p>
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月 這樣格式的時(shí)間
可以這樣寫:
date.ToString("yyyy年MM月", DateTimeFormatInfo.InvariantInfo)
如此類推.
下面列出一些Asp.net中具體的日期格式化用法:
============================================
1.綁定時(shí)格式化日期方法:
<ASP:BOUNDCOLUMN DATAFIELD= "JoinTime " DATAFORMATSTRING= "{0:yyyy-MM-dd} " >
<ITEMSTYLE WIDTH= "18% " > </ITEMSTYLE >
</ASP:BOUNDCOLUMN >
2.數(shù)據(jù)控件如DataGrid/DataList等的件格式化日期方法:
e.Item.Cell[0].Text = Convert.ToDateTime(e.Item.Cell[0].Text).ToShortDateString();
3.用String類轉(zhuǎn)換日期顯示格式:
String.Format( "yyyy-MM-dd ",yourDateTime);
4.用Convert方法轉(zhuǎn)換日期顯示格式:
Convert.ToDateTime("2005-8-23").ToString
("yyMMdd",System.Globalization.DateTimeFormatInfo.InvariantInfo); //支持繁體數(shù)據(jù)庫
5.直接用ToString方法轉(zhuǎn)換日期顯示格式:
DateTime.Now.ToString("yyyyMMddhhmmss");
DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss")
6.只顯示年月
DataBinder.Eval(Container.DataItem,"starttime","{0:yyyy-M}")
7.顯示時(shí)間所有部分,包括:年月日時(shí)分秒
<asp:BoundColumn DataField="收款時(shí)間" HeaderText="收款時(shí)間"
DataFormatString="{0:yyyy-MM-dd HH24:mm:ss}">
</asp:BoundColumn>
[ASP.NET] 如何在GridView中使用DataFromatString
在我們從業(yè)務(wù)邏輯層獲得數(shù)據(jù)實(shí)體時(shí)候,接下來的事情就是要綁定到控件中。數(shù)據(jù)實(shí)體中的一些字段可以直接綁定到界面中,但是有一些字段需要重新格 式化格式。比如貨幣單位字段,需要顯示貨幣符號(hào)和每隔三位顯示分隔符;再比如日期字段,數(shù)據(jù)庫中存放的是日期和時(shí)間,但是在界面上需要按照XXXX年XX 月XX日的格式顯示。這時(shí)候我們就用到了DataFormatString屬性。
<asp:GridView ID="grvResult" runat="server" AutoGenerateColumns="False" Width="100%">
<Columns>
<asp:BoundField HeaderText="預(yù)定日期" DataField="OperationDate" DataFormatString="{0:yyyy-MM-dd}" HtmlEncode="False">
</asp:BoundField>
<asp:BoundField HeaderText="訂單總計(jì)" DataField="TotalRate" DataFormatString="{0:C}" HtmlEncode="False">
</asp:BoundField>
</Columns>
</asp:GridView>
例如上面的代碼展示了日期和貨幣兩種綁定方式。DataFormatString中的{0}是固定的格式,這和 String.Fromat(“{0}”, someString)中的{0}是一個(gè)用法,表示綁定上下文的參數(shù)索引編號(hào)。然后,在后面加入格式化字符串,具體的使用方法可以參考MSDN。
這里需要注意以下幾點(diǎn)
1. 在GridView中的asp:BoundField使用DataFormatString必須設(shè)置屬性HtmlEncode="False",否則不起作用。
2. 如果需要使用日期類型的格式化字符串,必須數(shù)據(jù)實(shí)體中對(duì)應(yīng)的字段也應(yīng)該日起類型的。
3. 格式化字符串C代表貨幣單位,需要綁定的數(shù)據(jù)類型應(yīng)該是數(shù)字類型的。如果是字符串類型的不起作用,需要手動(dòng)添加格式化字符串為DataFormatString="¥{0:C}"。
文章來源:
http://www.my1984.net/?action=show&id=150 MSN:
posted on 2008-11-05 23:34
kylixlu 閱讀(980)
評(píng)論(0) 編輯 收藏 所屬分類:
dotNet