介绍
表示公历中值范围为 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