ASP.NET C# 日期 時間 年 月 日 時 分 秒 格式及轉換


在平時編碼中,經常要把日期轉換成各種各樣的形式輸出或保持,今天專門做了個測試,發現DateTime的ToString()方法居然有這么多的表現形式,和大家一起分享.

DateTime time=DateTime.Now;   //2010-5-28  11:22:02.4552691 星期五

 

              time.To("y")                         "2010年5月"

              time.To("yy")                       "10"

              time.To("yyy")                     "2010"

              time.To("yyyy")                    "2010"

              time.To("Y")                        "2010年5月"

              time.To("m")                       "5月28日"

              time.To("mm")                     "22"

              time.To("mmm")                  "22"

              time.To("mmmm")               "22"

              time.To("M")                      "5月28日"

              time.To("MM")                   "05"

              time.To("MMM")                "五月"

              time.To("MMMM")             "五月"

              time.To("d")                         "2010-5-28"

              time.To("dd")                       "28"

              time.To("ddd")                     "五"

              time.To("dddd")                   "星期五"

              time.To("D")                        "2010年5月28日"

              time.To("hh")                        "11"

              time.To("hhh")                      "11"

              time.To("hhhh")                     "11"

              time.To("HH")                      "11"

              time.To("HHH")                    "11"

              time.To("HHHH")                 "11"

              time.To("s")                         "2010-05-28T11:22:02"

              time.To("ss")                       "02"

              time.To("sss")                      "02"

              time.To("ssss")                    "02"

              time.To("f")                         "2010年5月28日 11:22"

              time.To("ff")                        "45"

              time.To("fff")                       "455"

              time.To("ffff")                      "4552"

              time.To("t")                         "11:22"

              time.To("tt")                        "AM"

              time.To("ttt")                       "AM"

              time.To("tttt")                      "AM"

              time.To("T")                        "11:22:02"

              time.To("zz")                       "+08"

              time.To("zzz")                      "+08:00"

              time.To("zzzz")                    "+08:00"

              time.To("r")                         "Fri, 28 May 2010 11:22:02 GMT"

              time.To("R")                        "Fri, 28 May 2010 11:22:02 GMT"

              time.To("u")                         "2010-05-28 11:22:02Z"

              time.To("U")                        "2010年5月28日 3:11:02"

              time.To("o")                         "2010-05-28T11:22:02.4552691+08:00"

              time.To("O")                        "2010-05-28T11:22:02.4552691+08:00"

              time.To("u")                         "2010-05-28 11:22:02Z"

              time.To("U")                        "2010年5月28日 3:11:02"

              time.To("g")                         "2010-5-28 11:22"

              time.To("gg")                       "公元"

              time.To("ggg")                     "公元"

              time.To("gggg")                   "公元"

              time.To("G")                        "2010-5-28 11:22:02"

能夠取出單一的某個部分的字符串可以組合起來使用,如:

time.ToString("gg yyyy/MM/dd hh:mm:ss dddd")              "公元 2010-05-28 11:56:26 星期五"

因為此處gg,yyyy,MM,dd,hh,mm,ss,dddd都只是取出單一的部分.

像下面的組合則不行:

time.ToString("gg y")     "公元 10"   //結果不是我們需要的"公元 2010年5月"

因為y代表的是"2010年5月",不是單一的功能. 



在 ASP.net c# /中

  我們可以通過使用DataTime這個類來獲取當前的時間。通過調用類中的各種方法我們可以獲取不同的時間:如:日期(2008-09-04)、時間(12:12:12)、日期+時間(2008-09-04 12:11:10)等。


//獲取日期+時間
DateTime.Now.ToString();            // 2008-9-4 20:02:10
DateTime.Now.ToLocalTime().ToString();        // 2008-9-4 20:12:12

//獲取日期
DateTime.Now.ToLongDateString().ToString();    // 2008年9月4日
DateTime.Now.ToShortDateString().ToString();    // 2008-9-4
DateTime.Now.ToString("yyyy-MM-dd");        // 2008-09-04
DateTime.Now.Date.ToString();            // 2008-9-4 0:00:00

//獲取時間
DateTime.Now.ToLongTimeString().ToString();   // 20:16:16
DateTime.Now.ToShortTimeString().ToString();   // 20:16
DateTime.Now.ToString("hh:mm:ss");        // 08:05:57
DateTime.Now.TimeOfDay.ToString();        // 20:33:50.7187500

//其他
DateTime.ToFileTime().ToString();       // 128650040212500000
DateTime.Now.ToFileTimeUtc().ToString();   // 128650040772968750
DateTime.Now.ToOADate().ToString();       // 39695.8461709606
DateTime.Now.ToUniversalTime().ToString();   // 2008-9-4 12:19:14

DateTime.Now.Year.ToString();          獲取年份   // 2008
DateTime.Now.Month.ToString();      獲取月份   // 9
DateTime.Now.DayOfWeek.ToString(); 獲取星期   // Thursday
DateTime.Now.DayOfYear.ToString(); 獲取第幾天   // 248
DateTime.Now.Hour.ToString();          獲取小時   // 20
DateTime.Now.Minute.ToString();     獲取分鍾   // 31
DateTime.Now.Second.ToString();     獲取秒數   // 45

//n為一個數,可以數整數,也可以事小數
dt.AddYears(n).ToString();   //時間加n年
dt.AddDays(n).ToString();   //加n天
dt.AddHours(n).ToString();   //加n小時
dt.AddMonths(n).ToString();   //加n個月
dt.AddSeconds(n).ToString();   //加n秒
dt.AddMinutes(n).ToString();   //加n分


SQL語句使用時間和日期的函數


getdate():獲取系統當前時間
dateadd(datepart,number,date):計算在一個時間的基礎上增加一個時間后的新時間值,比如:dateadd(yy,30,getdate())
datediff(datepart,startdate,enddate):計算兩個時間的差值,比如:datediff(yy,getdate(),'2008-08-08')
dataname(datepart,date):獲取時間不同部分的值,返回值為字符串
datepart(datepart,date):和datename相似,只是返回值為整型
day(date):獲取指定時間的天數
month(date):獲取指定時間的月份
year(date):獲取指定時間的年份

select year(getdate())  :當前年份

SQL在讀取的時候轉換時間格式的問題

 

時間是 DateTime 類型的  現在在一些地方我要只顯示年/月/日 把后面的具體幾點幾分 把現實  這個轉換怎么寫

<%# Eval("NTime")%>     這種情況下怎么轉換

綁在GridView里邊的  <asp:BoundField DataField="NTime" HeaderText="時間"   ReadOnly="True" />   這種情況下怎么轉換

這兩個地方我都要轉化成 只顯示年/月/日  怎么寫
<%#Convert.ToDateTime(Eval("NTime")).toString("YYYY/MM/dd")%>      --只要Ntime能轉成時間格式即可。
 <asp:BoundField DataField="NTime" HeaderText="時間" ReadOnly="True" 
                                DataFormatString="{0:yyyy\/MM\/dd}" />              --這里的 “Ntime”列的類型必須為時間類型,否則轉換不了

以上兩種,轉換過來的格式都為:年/月/日 .
<asp:BoundField DataField="NTime" HeaderText="時間"   ReadOnly="True" DataFormatString="{0:yyyy-MM-dd}" /> 
<%# Eval("NTime")%>:
<%# Eval(Container.DataItem, "NTime","{0:d}")%> 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM