C#日期格式化

时间:2021-06-06 13:57:29
日期转化
DateTime d t= DateTime.Now; '
dt.ToString(); '2005-11-5  13:21:25
dt.ToFileTime().ToString(); '127756416859912000
dt.ToFileTimeUtc().ToString(); 127756704859912816
dt.ToLocalTime().ToString(); '2005-11-5 21:21:25
dt.ToLongDateString().ToString(); '2005-11-5
dt.ToLongTimeString().ToString();  '13:21:25
dt.ToOADate().ToString();  '38661.5565508218
dt.ToShortDateString().ToString();  '2005-11-5
dt.ToShortTimeString().ToString();  '13:21
dt.ToUniversalTime().ToString();  '2005-11-5 5:21:25
dt.Year.ToString();  '2005
dt.Date.ToString();  '2005-11-5 0:00:00
dt.DayOfWeek.ToString();  'Saturday
dt.DayOfYear.ToString();  '309
dt.Hour.ToString();  '13
dt.Millisecond.ToString();  '441
dt.Minute.ToString();  '30
dt.Month.ToString();  '11
dt.Second.ToString();  '28
dt.Ticks.ToString();  '632667942284412864
dt.TimeOfDay.ToString();  '13:30:28.4412864
dt.ToString();  '2005-11-5 13:47:04
dt.AddYears(1).ToString();  '2006-11-5 13:47:04
dt.AddDays(1.1).ToString();  '2005-11-6 16:11:04
dt.AddHours(1.1).ToString();  '2005-11-5 14:53:04
dt.AddMilliseconds(1.1).ToString();  '2005-11-5 13:47:04
dt.AddMonths(1).ToString();  '2005-12-5 13:47:04
dt.AddSeconds(1.1).ToString();  '2005-11-5 13:47:05
dt.AddMinutes(1.1).ToString();  '2005-11-5 13:48:10
dt.AddTicks(1000).ToString();  '2005-11-5 13:47:04
dt.CompareTo(dt).ToString();  '0
dt.Add(?).ToString();  '问号为一个时间段
dt.Equals("2005-11-6 16:11:04").ToString();  'False
dt.Equals(dt).ToString();  'True
dt.GetHashCode().ToString();  '1474088234
dt.GetType().ToString();  'System.DateTime
dt.GetTypeCode().ToString();  'DateTime
dt.GetDateTimeFormats('s')[0].ToString();  '2005-11-05T14:06:25
dt.GetDateTimeFormats('t')[0].ToString();  '14:06
dt.GetDateTimeFormats('y')[0].ToString();  '2005年11月
dt.GetDateTimeFormats('D')[0].ToString();  '2005年11月5日
dt.GetDateTimeFormats('D')[1].ToString();  '2005 11 05
dt.GetDateTimeFormats('D')[2].ToString();  '星期六 2005 11 05
dt.GetDateTimeFormats('D')[3].ToString();  '星期六 2005年11月5日
dt.GetDateTimeFormats('M')[0].ToString();  '11月5日
dt.GetDateTimeFormats('f')[0].ToString();  '2005年11月5日 14:06
dt.GetDateTimeFormats('g')[0].ToString();  '2005-11-5 14:06
dt.GetDateTimeFormats('r')[0].ToString();  'Sat, 05 Nov 2005 14:06:25 GMT
string.Format("{0:d}",dt);  '2005-11-5
string.Format("{0:D}",dt);  '2005年11月5日
string.Format("{0:f}",dt);  '2005年11月5日 14:23
string.Format("{0:F}",dt);  '2005年11月5日 14:23:23
string.Format("{0:g}",dt);  '2005-11-5 14:23
string.Format("{0:G}",dt);  '2005-11-5 14:23:23
string.Format("{0:M}",dt);  '11月5日
string.Format("{0:R}",dt);  'Sat, 05 Nov 2005 14:23:23 GMT
string.Format("{0:s}",dt);  '2005-11-05T14:23:23
string.Format("{0:t}",dt);  '14:23
string.Format("{0:T}",dt);  '14:23:23
string.Format("{0:u}",dt);  '2005-11-05 14:23:23Z
string.Format("{0:U}",dt);  '2005年11月5日 6:23:23
string.Format("{0:Y}",dt);  '2005年11月
string.Format("{0}",dt);  '2005-11-5 14:23:23

string.Format("{0:yyyyMMddHHmmssffff}",dt); 

比较两时间大小
1、比较时间大小的实验
    string st1="12:13";
    string st2="14:14";
    DateTime dt1=Convert.ToDateTime(st1);
    DateTime dt2=Convert.ToDateTime(st2);
    DateTime dt3=DateTime.Now;
    if(DateTime.Compare(dt1,dt2)>0)
     msg.Text=st1+">"+st2;
    else
     msg.Text=st1+"<"+st2;
    msg.Text+="\r\n"+dt1.ToString();
    if(DateTime.Compare(dt1,dt3)>0)
     msg.Text+="\r\n"+st1+">"+dt3.ToString();
    else
     msg.Text+="\r\n"+st1+"<"+dt3.ToString();

2、计算两个时间差值的函数,返回时间差的绝对值:
         private string DateDiff(DateTime DateTime1,DateTime DateTime2)
         {
             string dateDiff=null;
             try
             {
                 TimeSpan ts1=new   TimeSpan(DateTime1.Ticks);
                 TimeSpan ts2=new   TimeSpan(DateTime2.Ticks);
                 TimeSpan ts=ts1.Subtract(ts2).Duration();
                 dateDiff=ts.Days.ToString()+"天"
                         +ts.Hours.ToString()+"小时"
                         +ts.Minutes.ToString()+"分钟"
                         +ts.Seconds.ToString()+"秒";
             }
             catch
             {
             }
             return dateDiff;
         }
3、实现计算DateTime1-36天=DateTime2的功能
    TimeSpan ts=new TimeSpan(40,0,0,0);
    DateTime dt2=DateTime.Now.Subtract(ts);
    msg.Text=DateTime.Now.ToString()+"-"+ts.Days.ToString()+"天\r\n";
    msg.Text+=dt2.ToString();
'