介绍
表示公历中值范围为 0001 年 1 月 1 日 Anno Domini (Common Era) 到 9999 年 12 月 31 日。
构造函数
DateTime(Int32, Int32, Int32)
通过输入年月日数据来新建一个dateTime结构,此外,dateTime还有多个重载构造函数,这里就不详细介绍了。
字段
MaxValue与MinValue
获取datetime可以表达的最大和最小日期时间。
static void Main(string[] args)
{Console.WriteLine(DateTime.MaxValue);Console.WriteLine(DateTime.MinValue);Console.ReadKey();
}
运行结果:
9999/12/31 23:59:59
0001/1/1 0:00:00
常用属性
Now
获取当前的时间。
static void Main(string[] args)
{DateTime dt = DateTime.Now;Console.WriteLine(dt);Console.ReadKey();
}
运行结果:
2024/4/13 15:05:06
Today
获取今天的日期。
static void Main(string[] args)
{DateTime dt = DateTime.Today;Console.WriteLine(dt);Console.ReadKey();
}
运行结果:
2024/4/13 0:00:00
Year,Month,Day,Hour,Minute,Second
分别获取dateTime对象中的年,月,日,时,分,秒。
static void Main(string[] args)
{DateTime dt = DateTime.Now;Console.WriteLine(dt.Year+"年");Console.WriteLine(dt.Month + "月");Console.WriteLine(dt.Day+ "日");Console.WriteLine(dt.Hour + "时");Console.WriteLine(dt.Minute + "分");Console.WriteLine(dt.Second + "秒");Console.ReadKey();
}
运行结果:
2024年
4月
13日
15时
6分
56秒
Date
获取当前实例的日期部分,时分秒均为0。
static void Main(string[] args)
{DateTime dt = DateTime.Now;Console.WriteLine("date:"+dt.Date);Console.ReadKey();
}
运行结果:
date:2024/4/13 0:00:00
TimeOfDay
获取当前实例对象的时间。
static void Main(string[] args)
{DateTime dt = DateTime.Now;Console.WriteLine(dt.TimeOfDay);Console.ReadKey();
}
运行结果:
15:23:08.4023529
DayOfWeek,DayOfYear
获取当前实例是星期几,以及在一年中的第几天。
static void Main(string[] args){DateTime dt = DateTime.Now;Console.WriteLine(dt.DayOfWeek);Console.WriteLine(dt.DayOfYear);Console.ReadKey();}
运行结果:
Saturday
104
常用方法
Add(TimeSpan)
一个dateTime对象加上一个时间间隔,得到一个新的dateTime对象。
static void Main(string[] args)
{DateTime dt = DateTime.Now;Console.WriteLine("当前时间是:"+dt);TimeSpan ts=new TimeSpan(1,0,0,0); //创建一个1天的timeSpan对象dt=dt.Add(ts);Console.WriteLine("一天后时间是:"+dt);Console.ReadKey();
}
运行结果:
当前时间是:2024/4/13 15:39:59
一天后时间是:2024/4/14 15:39:59
AddDays(Double)
当前dateTime加上一个天数,获的一个新的dateTime。
AddHours(Double)
当前dateTime加上一个小时数,获的一个新的dateTime。
AddMinutes(Double)
当前dateTime加上一个分钟数,获的一个新的dateTime。
AddMonths(Int32)
当前dateTime加上一个月份数,获的一个新的dateTime。
AddSeconds(Double)
当前dateTime加上一个秒数,获的一个新的dateTime。
AddYears(Int32)
当前dateTime加上一个年数,获的一个新的dateTime。
Compare(DateTime dt1, DateTime dt2)
比较dt1和dt2,如果dt1早于dt2,返回-1,如果dt1=dt2,返回0,如果dt1晚于dt2,返回1。
static void Main(string[] args)
{DateTime dt = DateTime.Now;DateTime dt2 = new DateTime(2024, 1, 1, 0, 0, 0);Console.WriteLine("当前时间是:"+dt);Console.WriteLine(DateTime.Compare(dt,dt2));Console.ReadKey();
}
运行结果:
当前时间是:2024/4/13 15:56:01
1
CompareTo(DateTime)
与Compare()方法功能一样,只是Compare()是个静态方法,而CompareTo()是个实例方法。
DaysInMonth(Int32 year, Int32 month)
返回year指定年份的month月份有多少天。
static void Main(string[] args)
{DateTime dt = DateTime.Now;Console.WriteLine(DateTime.DaysInMonth(2024,2));Console.ReadKey();
}
运行结果:
29
Parse(String)
将以字符串显示的时间转换成dateTime对象。
static void Main(string[] args){string time = "08/18/2018 07:22:16";DateTime dt2=DateTime.Parse(time);Console.WriteLine(dt2);Console.ReadKey();}
运行结果:
2018/8/18 7:22:16
Subtract(DateTime)
dateTime实例减去另一个dateTime对象,获取一个时间间隔。
static void Main(string[] args)
{DateTime dt = DateTime.Now;Console.WriteLine("当前时间是:"+dt);DateTime dt1 = new DateTime(2024, 1, 1, 0, 0, 0);TimeSpan ts=dt.Subtract(dt1);Console.WriteLine("时间间隔为:"+ts);Console.ReadKey();
}
运行结果:
当前时间是:2024/4/13 16:28:54
时间间隔为:103.16:28:54.1656746
Subtract(TimeSpan)
实例dateTime减去一个时间间隔,获取一个新的dateTime对象。
static void Main(string[] args)
{DateTime dt = DateTime.Now;Console.WriteLine("当前时间是:"+dt);TimeSpan ts = new TimeSpan(1, 0, 0, 0); //创建一个1天的时间间隔DateTime dt1=dt.Subtract(ts);Console.WriteLine("减去时间间隔后的日期为:"+dt1);Console.ReadKey();
}
运行结果:
当前时间是:2024/4/13 16:32:33
减去时间间隔后的日期为:2024/4/12 16:32:33