Asp.net日期字符串格式化顯示--DateTime.ToString()用法詳解

          我們經(jīng)常會遇到對時間進行轉(zhuǎ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格式詳細用法
          =======================
          格式字符 關(guān)聯(lián)屬性/說明 
          d ShortDatePattern 
          D LongDatePattern 
          f 完整日期和時間(長日期和短時間) 
          F FullDateTimePattern(長日期和長時間) 
          g 常規(guī)(短日期和短時間) 
          G 常規(guī)(短日期和長時間) 
          m、M MonthDayPattern 
          r、R RFC1123Pattern 
          s 使用當?shù)貢r間的 SortableDateTimePattern(基于 ISO 8601) 
          t ShortTimePattern 
          T LongTimePattern 
          u UniversalSortableDateTimePattern 用于顯示通用時間的格式 
          U 使用通用時間的完整日期和時間(長日期和長時間) 
          y、Y YearMonthPattern

          下表列出了可被合并以構(gòu)造自定義模式的模式
          ========================================
          這些模式是區(qū)分大小寫的;例如,識別“MM”,但不識別“mm”。如果自定義模式包含空白字符或用單引號括起來的字符,則輸出字符串頁也將包含這些字符。未定義為格式模式的一部分或未定義為格式字符的字符按其原義復(fù)制。

          格式模式 說明 :
          d 月中的某一天。一位數(shù)的日期沒有前導(dǎo)零。 
          dd 月中的某一天。一位數(shù)的日期有一個前導(dǎo)零。 
          ddd 周中某天的縮寫名稱,在 AbbreviatedDayNames 中定義。 
          dddd 周中某天的完整名稱,在 DayNames 中定義。 
          M 月份數(shù)字。一位數(shù)的月份沒有前導(dǎo)零。 
          MM 月份數(shù)字。一位數(shù)的月份有一個前導(dǎo)零。 
          MMM 月份的縮寫名稱,在 AbbreviatedMonthNames 中定義。 
          MMMM 月份的完整名稱,在 MonthNames 中定義。 
          y 不包含紀元的年份。如果不包含紀元的年份小于 10,則顯示不具有前導(dǎo)零的年份。 
          yy 不包含紀元的年份。如果不包含紀元的年份小于 10,則顯示具有前導(dǎo)零的年份。 
          yyyy 包括紀元的四位數(shù)的年份。 
          gg 時期或紀元。如果要設(shè)置格式的日期不具有關(guān)聯(lián)的時期或紀元字符串,則忽略該模式。 
          h 12 小時制的小時。一位數(shù)的小時數(shù)沒有前導(dǎo)零。 
          hh 12 小時制的小時。一位數(shù)的小時數(shù)有前導(dǎo)零。 
          H 24 小時制的小時。一位數(shù)的小時數(shù)沒有前導(dǎo)零。 
          HH 24 小時制的小時。一位數(shù)的小時數(shù)有前導(dǎo)零。 
          m 分鐘。一位數(shù)的分鐘數(shù)沒有前導(dǎo)零。 
          mm 分鐘。一位數(shù)的分鐘數(shù)有一個前導(dǎo)零。 
          s 秒。一位數(shù)的秒數(shù)沒有前導(dǎo)零。 
          ss 秒。一位數(shù)的秒數(shù)有一個前導(dǎo)零。 
          f 秒的小數(shù)精度為一位。其余數(shù)字被截斷。 
          ff 秒的小數(shù)精度為兩位。其余數(shù)字被截斷。 
          fff 秒的小數(shù)精度為三位。其余數(shù)字被截斷。 
          ffff 秒的小數(shù)精度為四位。其余數(shù)字被截斷。 
          fffff 秒的小數(shù)精度為五位。其余數(shù)字被截斷。 
          ffffff 秒的小數(shù)精度為六位。其余數(shù)字被截斷。 
          fffffff 秒的小數(shù)精度為七位。其余數(shù)字被截斷。 
          t 在 AMDesignator 或 PMDesignator 中定義的 AM/PM 指示項的第一個字符(如果存在)。 
          tt 在 AMDesignator 或 PMDesignator 中定義的 AM/PM 指示項(如果存在)。 
          z 時區(qū)偏移量(“+”或“-”后面僅跟小時)。一位數(shù)的小時數(shù)沒有前導(dǎo)零。例如,太平洋標準時間是“-8”。 
          zz 時區(qū)偏移量(“+”或“-”后面僅跟小時)。一位數(shù)的小時數(shù)有前導(dǎo)零。例如,太平洋標準時間是“-08”。 
          zzz 完整時區(qū)偏移量(“+”或“-”后面跟有小時和分鐘)。一位數(shù)的小時數(shù)和分鐘數(shù)有前導(dǎo)零。例如,太平洋標準時間是“-08:00”。 
          : 在 TimeSeparator 中定義的默認時間分隔符。 
          / 在 DateSeparator 中定義的默認日期分隔符。 
          % c 其中 c 是格式模式(如果單獨使用)。如果格式模式與原義字符或其他格式模式合并,則可以省略“%”字符。
          / c 其中 c 是任意字符。照原義顯示字符。若要顯示反斜杠字符,請使用“//”。

          只有上面第二個表中列出的格式模式才能用于創(chuàng)建自定義模式;在第一個表中列出的標準格式字符不能用于創(chuàng)建自定義模式。自定義模式的長度至少為兩個字符;例如,

          DateTime.ToString( "d") 返回 DateTime 值;“d”是標準短日期模式。 
          DateTime.ToString( "%d") 返回月中的某天;“%d”是自定義模式。 
          DateTime.ToString( "d ") 返回后面跟有一個空白字符的月中的某天;“d”是自定義模式。

          比較方便的是,上面的參數(shù)可以隨意組合,并且不會出錯,多試試,肯定會找到你要的時間格式
          如要得到2005年06月 這樣格式的時間
          可以這樣寫:
          date.ToString("yyyy年MM月", DateTimeFormatInfo.InvariantInfo)
          如此類推.

          下面列出一些Asp.net中具體的日期格式化用法:
          ============================================
          1.綁定時格式化日期方法: 
          <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.顯示時間所有部分,包括:年月日時分秒 
          <asp:BoundColumn DataField="收款時間" HeaderText="收款時間" 
          DataFormatString="{0:yyyy-MM-dd HH24:mm:ss}"> 
          </asp:BoundColumn>

          posted on 2012-04-13 10:39 SkyDream 閱讀(1163) 評論(0)  編輯  收藏 所屬分類: ASP.NET

          <2012年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 越西县| 高雄县| 宁明县| 广灵县| 靖宇县| 高碑店市| 沙坪坝区| 岑溪市| 保康县| 成安县| 西宁市| 崇仁县| 萨迦县| 开化县| 澎湖县| 永定县| 仙桃市| 淳化县| 平陆县| 禹城市| 海原县| 扎兰屯市| 监利县| 遂昌县| 洞头县| 麻城市| 吴堡县| 延川县| 千阳县| 崇州市| 巨野县| 额尔古纳市| 昌乐县| 黎城县| 托克逊县| 大关县| 深圳市| 汾西县| 天峨县| 长垣县| 平凉市|