C# DateTime

获得当前系统时间: DateTime dt = DateTime.Now;

Environment.TickCount 可以得到 “系统启动到现在” 的毫秒值

DateTime now = DateTime.Now;
Console.WriteLine(now.ToString("yyyy-MM-dd"));  // 按 yyyy-MM-dd 格式输出 s

Console.WriteLine(dt.ToString());    //  26/11/2009 AM 11:21:30

Console.WriteLine(dt.ToFileTime().ToString());   //   129036792908014024

// Converts the value of the current System.DateTime object to a Windows file time

Console.WriteLine(dt.ToFileTimeUtc().ToString());  //     129036792908014024

// Converts the value of the current System.DateTime object to a Windows file time

Console.WriteLine(dt.ToLocalTime().ToString());   //       26/11/2009 AM 11:21:30

// Converts the value of the current System.DateTime object to local time.

Console.WriteLine(dt.ToLongDateString().ToString());   //      2009 年 11 月 26 日

Console.WriteLine(dt.ToLongTimeString().ToString());  //      AM 11:21:30

Console.WriteLine(dt.ToOADate().ToString());   //      40143.4732731597

Console.WriteLine(dt.ToShortDateString().ToString());   //     26/11/2009

Console.WriteLine(dt.ToShortTimeString().ToString());   //     AM 11:21

Console.WriteLine(dt.ToUniversalTime().ToString());   //       26/11/2009 AM 3:21:30

Console.WriteLine(dt.Year.ToString());   //        2009

Console.WriteLine(dt.Date.ToString());   //        26/11/2009 AM 12:00:00

Console.WriteLine(dt.DayOfWeek.ToString());  //       Thursday

Console.WriteLine(dt.DayOfYear.ToString());   //       330

Console.WriteLine(dt.Hour.ToString());       //        11

Console.WriteLine(dt.Millisecond.ToString());   //     801        (毫秒)

Console.WriteLine(dt.Minute.ToString());   //      21

Console.WriteLine(dt.Month.ToString());   //       11

Console.WriteLine(dt.Second.ToString());   //      30

Console.WriteLine(dt.Ticks.ToString());   //       633948312908014024


Console.WriteLine(dt.TimeOfDay.ToString());   //       12:29:51.5181524

// Gets the time of day for this instance.

// 返回 A System.TimeSpan that represents the fraction of the day that has elapsed since midnight.

Console.WriteLine(dt.ToString());     //     26/11/2009 PM 12:29:51

Console.WriteLine(dt.AddYears(1).ToString());    //         26/11/2010 PM 12:29:51

Console.WriteLine(dt.AddDays(1.1).ToString());    //        27/11/2009 PM 2:53:51

Console.WriteLine(dt.AddHours(1.1).ToString());    //       26/11/2009 PM 1:35:51

Console.WriteLine(dt.AddMilliseconds(1.1).ToString());    //26/11/2009 PM 12:29:51

Console.WriteLine(dt.AddMonths(1).ToString());    //        26/12/2009 PM 12:29:51

Console.WriteLine(dt.AddSeconds(1.1).ToString());    //     26/11/2009 PM 12:29:52

Console.WriteLine(dt.AddMinutes(1.1).ToString());    //     26/11/2009 PM 12:30:57

Console.WriteLine(dt.AddTicks(1000).ToString());    //      26/11/2009 PM 12:29:51

Console.WriteLine(dt.CompareTo(dt).ToString());    //       0

Console.WriteLine(dt.Add(new TimeSpan(1,0,0,0)).ToString());    // 加上一个时间段

(注:

System.TimeSpan 为一个时间段,构造函数如下

public TimeSpan(long ticks); // ticks: A time period expressed in 100-nanosecond units.

                           //nanosecond:十亿分之一秒   new TimeSpan (10,000,000)        为一秒

public TimeSpan(int hours, int minutes, int seconds);

public TimeSpan(int days, int hours, int minutes, int seconds);

public TimeSpan(int days, int hours, int minutes, int seconds, int milliseconds);

Console.WriteLine(dt.Equals("2005-11-6 16:11:04").ToString());     //        False

Console.WriteLine(dt.Equals(dt).ToString());    //      True

Console.WriteLine(dt.GetHashCode().ToString());    //       1103291775

Console.WriteLine(dt.GetType().ToString());    //       System.DateTime

Console.WriteLine(dt.GetTypeCode().ToString());    //       DateTime
  

long Start = Environment.TickCount;   // 单位是毫秒

long End = Environment.TickCount;

Console.WriteLine("Start is : "+Start);

Console.WriteLine("End is : "+End);

Console.WriteLine("The Time is {0}",End-Start);
Console.WriteLine(dt.GetDateTimeFormats('s')[0].ToString());    //2009-11-26T13:29:06

Console.WriteLine(dt.GetDateTimeFormats('t')[0].ToString());    //PM 1:29

Console.WriteLine(dt.GetDateTimeFormats('y')[0].ToString());    //2009 年 11 月

Console.WriteLine(dt.GetDateTimeFormats('D')[0].ToString());    //2009 年 11 月 26 日

Console.WriteLine(dt.GetDateTimeFormats('D')[1].ToString());    // 星期四,26 十一月,2009

Console.WriteLine(dt.GetDateTimeFormats('D')[2].ToString());    //26 十一月,2009

Console.WriteLine(dt.GetDateTimeFormats('D')[3].ToString());    // 星期四 2009 11 26

Console.WriteLine(dt.GetDateTimeFormats('M')[0].ToString());    //26 十一月

Console.WriteLine(dt.GetDateTimeFormats('f')[0].ToString());    //2009 年 11 月 26 日 PM 1:29

Console.WriteLine(dt.GetDateTimeFormats('g')[0].ToString());    //26/11/2009 PM 1:29

Console.WriteLine(dt.GetDateTimeFormats('r')[0].ToString());    //Thu, 26 Nov 2009 13:29:06 GMT

(注:

常用的日期时间格式:

格式 说明      输出格式 
d 精简日期格式 MM/dd/yyyy 
D 详细日期格式 dddd, MMMM dd, yyyy 
f  完整格式    (long date + short time) dddd, MMMM dd, yyyy HH:mm 
F 完整日期时间格式 (long date + long time) dddd, MMMM dd, yyyy HH:mm:ss 
g 一般格式 (short date + short time) MM/dd/yyyy HH:mm 
G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss 
m,M 月日格式 MMMM dd 
s 适中日期时间格式 yyyy-MM-dd HH:mm:ss 
t 精简时间格式 HH:mm 
T 详细时间格式 HH:mm:ss

)


Console.WriteLine(string.Format("{0:d}", dt));    //28/12/2009

Console.WriteLine(string.Format("{0:D}", dt));    //2009 年 12 月 28 日

Console.WriteLine(string.Format("{0:f}", dt));    //2009 年 12 月 28 日 AM 10:29

Console.WriteLine(string.Format("{0:F}", dt));    //2009 年 12 月 28 日 AM 10:29:18

Console.WriteLine(string.Format("{0:g}", dt));    //28/12/2009 AM 10:29

Console.WriteLine(string.Format("{0:G}", dt));    //28/12/2009 AM 10:29:18

Console.WriteLine(string.Format("{0:M}", dt));    //28 十二月

Console.WriteLine(string.Format("{0:R}", dt));    //Mon, 28 Dec 2009 10:29:18 GMT

Console.WriteLine(string.Format("{0:s}", dt));    //2009-12-28T10:29:18

Console.WriteLine(string.Format("{0:t}", dt));    //AM 10:29

Console.WriteLine(string.Format("{0:T}", dt));    //AM 10:29:18

Console.WriteLine(string.Format("{0:u}", dt));    //2009-12-28 10:29:18Z

Console.WriteLine(string.Format("{0:U}", dt));    //2009 年 12 月 28 日 AM 2:29:18

Console.WriteLine(string.Format("{0:Y}", dt));    //2009 年 12 月

Console.WriteLine(string.Format("{0}", dt));    //28/12/2009 AM 10:29:18

Console.WriteLine(string.Format("{0:yyyyMMddHHmmssffff}", dt));    //200912281029182047

计算 2 个日期之间的天数差
DateTime dt1 = Convert.ToDateTime("2007-8-1");    
DateTime dt2 = Convert.ToDateTime("2007-8-15");   
TimeSpan span = dt2.Subtract(dt1);              
int dayDiff = span.Days ;                    

计算某年某月的天数
int days = DateTime.DaysInMonth(2009, 8);       
days = 31;                                      

给日期增加一天、减少一天
DateTime dt =DateTime.Now;
dt.AddDays (1); // 增加一天 dt 本身并不改变
dt.AddDays (-1);// 减少一天 dt 本身并不改变

// 比较 DateTime 类型
   DateTime dt1=DateTime.Now;
   DateTime dt2=Convert.ToDateTime ("2006-11-09 18:04:11");
   
   if (dt1.CompareTo (dt2)< 0)  //CompareTo:0 - 两者相等
    Response.Write ("");
   else
    Response.Write ("");
    
   // 比较 string 
   DateTime dt3=DateTime.Now ;
   string strdt3=dt3.ToString ("yyyy-MM-dd HH:mm:ss");
   string strdt4="2006-11-09 18:04:11";
     
   // 字符串比较时,主要把时间都转换成 yyyy-MM-dd HH:mm:ss 的格式
   if (strdt3.CompareTo (strdt4)<0)//CompareTo:0 - 两者相等
    Response.Write ("");
   else
    Response.Write ("");

你可能感兴趣的:(c#,windows,开发语言)