通过实例学C#之DateTime结构

介绍

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

  • 27
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值