- 获得当前系统时间: 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本身并不改变
转自:http://www.cnblogs.com/computer-lzy/archive/2012/07/20/2600506.html
补充一些功能
获取时间戳.
DateTime time = DateTime.Now;//获取本机时间
DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1, 0, 0, 0, 0));//获取和本机时间相同的类型的本地时间(否则可能出现由于时间类型不同的偏差,如果都是构造函数生成的,机没必要这么做了)
string ms = ((long)(time - startTime).TotalSeconds).ToString() + "000";//TimeSpan 时间差 获取 之间差的 秒数,就是时间戳
字符串转变成时间
方法一:Convert.ToDateTime(string)
string格式有要求,必须是yyyy-MM-dd hh:mm:ss (数据库datetime行数据也可以)
================================================
方法二:
DateTimeFormatInfo dtFormat = new System.Globalization.DateTimeFormatInfo();
dtFormat.ShortDatePattern = "yyyy/MM/dd";
DateTime dt = Convert.ToDateTime("2011/05/26", dtFormat);