C# DateTime类

1. 自己造轮子——Time类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TimeClass
{
    class Program
    {
        static void Main(string[] args)
        {
            Time t1 = new Time(19,56,22);
            Console.WriteLine(t1.ToString12());
            Console.WriteLine(t1.ToString24());
        }
    }

    class Time
    {
        #region 字段
        private int hour;
        private int minute;
        private int second;
        #endregion

        #region 属性
        public int Hour
        {
            get
            {
                return hour;
            }
            set
            {
                Hour = (value >= 0 && value < 24) ? value : 0;
            }
        }
        public int Minute
        {
            get
            {
                return minute;
            }
            set
            {
                Minute = (value >= 0 && value < 60) ? value : 0;
            }
        }
        public int Second
        {
            get
            {
                return second;
            }
            set
            {
                Second = (value >= 0 && value < 60) ? value : 0;
            }
        }
        #endregion

        #region 构造函数
        public Time()
        {
            SetTime(0,0,0);
        }
        public Time(int hourValue)
        {
            SetTime(hourValue,0,0);
        }
        public Time(int hourValue,int minuteValue,int secondValue)
        {
            SetTime(hourValue, minuteValue, secondValue);
        }
        #endregion

        #region 方法
        private void SetTime(int h,int m,int s)
        {
            hour = h;
            minute = m;
            second = s;
        }
        public string ToString24()
        {
            return hour.ToString() + ":" + minute.ToString() + ":" + second.ToString();
        }
        public string ToString12()
        {
            if(hour <= 12)
                return ToString24() + " AM";
            else
                return (hour % 12).ToString() + ":" + minute.ToString() + ":" + second.ToString() + " PM";
        }
        #endregion
    }
}

2. 现成的轮子——DateTime类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LearnDateTime
{
    class Program
    {
        static void Main(string[] args)
        {
            //昨天
            Console.WriteLine(DateTime.Today.AddDays(-1).ToShortDateString());
            //今天
            Console.WriteLine(DateTime.Today.ToShortDateString());//斜线隔开
            Console.WriteLine(DateTime.Today.ToLongDateString());//年月日
            //明天
            Console.WriteLine(DateTime.Today.AddDays(1).ToShortDateString());

            //当前时间
            Console.WriteLine(DateTime.Now.ToShortTimeString());//精确到分钟
            Console.WriteLine(DateTime.Now.ToLongTimeString());//精确到秒钟
            
            //当前日期与时间(年月日时分秒)
            Console.WriteLine(DateTime.Now.ToLocalTime());

            //巧妙的利用string格式化
            Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));

            //计算两个时间点的时间间隔
            DateTime dt = new DateTime(2021, 6, 3, 22, 00, 12);
            Console.WriteLine(dt.ToLongTimeString());

            TimeSpan ts = DateTime.Now - dt;
            Console.WriteLine("时间间隔:{0}日{1}时{2}分{3}秒{4}毫秒",ts.Days,ts.Hours,ts.Minutes,ts.Seconds,ts.Milliseconds);
            Console.WriteLine("时间间隔:{0}秒", ts.TotalSeconds);
        }
    }
}

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MechMaster

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值