C#日期格式化

日期转化
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();
'

posted on 2015-10-23 11:21  雪夜  阅读(183)  评论(0编辑  收藏  举报