当前位置: 首页 > article >正文

c#时间对象(时间间隔)相关计算

            // 时间对象
            // DateTime 用来获取时间 


            // 时间对象是一个结构体 
            // 获取当前时间 
            DateTime dt = DateTime.Now;
            Console.WriteLine(dt);

            // 获取utc时间 国际时间 
            DateTime dt1 = DateTime.UtcNow;
            Console.WriteLine(dt1);

            // 获取指定时间 
            // new DateTime(年, 月, 日, 时, 分, 秒);
            DateTime dt2 = new DateTime(2024, 10, 12, 10, 10, 10);
            Console.WriteLine(dt2);

            // 获取年月日 时分秒
            int year = dt.Year;
            Console.WriteLine(year);
            int month = dt.Month;
            Console.WriteLine(month);
            int day = dt.Day;
            Console.WriteLine(day);
            // 这是枚举类型的 
            DayOfWeek workDay = dt.DayOfWeek;
            Console.WriteLine(workDay);

            int hour = dt.Hour; // 获取小时
            Console.WriteLine(hour);
            int minute = dt.Minute; // 获取分钟
            Console.WriteLine(minute);
            int second = dt.Second; // 获取秒钟
            Console.WriteLine(second);

            int microsecond = dt.Millisecond; // 获取毫秒
            Console.WriteLine(microsecond);

            // 获取时间戳 
            // 时间戳 是指格林威治时间 1970年1月1日 00:00:00 到现在的毫秒值, 北京时间 1970年1月1日 8:00:00 到现在的毫秒值

            // DateTimeOffset 常用来操作时区 时间转换的对象处理 

            long time = new DateTimeOffset(dt).ToUnixTimeMilliseconds();

            Console.WriteLine(time);

            Console.WriteLine(GetDay(1937, 7, 7));


            Console.ReadLine();
        }

 

 2. 时间间隔

            // 时间间隔 就是时间差对象   从某一天到另一天间隔了多久 
            // 时间间隔是 两个时间对象相减得到的时间对象 

            DateTime dt = new DateTime(2005, 5, 5);
            DateTime dt1 = DateTime.Now;

            TimeSpan time = dt1 - dt;


            Console.WriteLine(time.Days); // 获取天数部分
            Console.WriteLine(time.Hours); // 获取小时  部分
            Console.WriteLine(time.Minutes); // 获取分钟  部分
            Console.WriteLine(time.Seconds); // 获取秒  部分
            Console.WriteLine(time.TotalDays); // 获取有多少天 是一个小数
            Console.WriteLine(time.TotalHours); // 获取有多少小时 是一个小数
            Console.WriteLine(time.TotalMinutes); // 获取有多少分钟 是一个小数
            Console.WriteLine(time.TotalSeconds); // 获取有多少秒钟 是一个小数

2-1 时间间隔的相关计算 

            // 获取当前时间 
            DateTime dt = DateTime.Now;

            DateTime dt1 = dt.AddDays(1); // 在当前时间的基础上加 一天 
            DateTime dt2 = dt.AddYears(1); // 在当前时间的基础上加 一年
            DateTime dt3 = dt.AddMonths(1); // 在当前时间的基础上加 一月
            DateTime dt4 = dt.AddHours(1); // 在当前时间的基础上加 一小时
            DateTime dt5 = dt.AddMinutes(1); // 在当前时间的基础上加 一分钟
            DateTime dt6 = dt.AddSeconds(1); // 在当前时间的基础上加 一秒钟

            bool b1 = dt1 < dt; // 时间在后面的大 时间在前面的小 
            Console.WriteLine(b1);

            // 时间间隔运算 
            TimeSpan timeSpan = new TimeSpan(1, 1, 1, 1, 1);
            TimeSpan ts = timeSpan + timeSpan;
            TimeSpan ts1 = timeSpan - timeSpan;
            bool b = timeSpan > ts; // 两个时间大小比较 时间间隔比较长的大 短的小 
            Console.WriteLine(b);

            Console.WriteLine(ts1 + "----------------------");
            timeSpan.Add(timeSpan); // 在当前时间间隔的基础上加上一个新的时间间隔   等价于 timeSpan + timeSpan 

            Console.WriteLine(dt1);
            Console.WriteLine(dt2);
            Console.WriteLine(dt3);
            Console.WriteLine(dt4);
            Console.WriteLine(dt5);
            Console.WriteLine(dt6);

            // 1. 时间格式化 
            string str = dt.ToString("d"); // tostring 中提供了格式化时间字符串的方法 
            // 自定义格式化的形式 
            string str1 = dt.ToString("yyyy年MM月dd日 hh:mm:ss"); // tostring 中提供了格式化时间字符串的方法 
            Console.WriteLine(str1);

            // 2. 解析时间字符串 为 时间对象
            DateTime dt7 = DateTime.Parse("2024/12/12 12:12:12");
            Console.WriteLine(dt7);


http://www.kler.cn/news/368180.html

相关文章:

  • Elasticsearch 与 Lucene 的区别和联系
  • Java学习Day53:铲除紫云山金丹原料厂厂长(手机快速登录、权限控制)
  • OpenFeign返回参数统一处理
  • Java进阶篇设计模式之二 ----- 工厂模式
  • Python实现贝叶斯优化器(Bayes_opt)优化简单循环神经网络分类模型(SimpleRNN分类算法)项目实战
  • 研发运营一体化(DevOps)能力成熟度模型
  • 【已解决】edge浏览器会保存历史验证码?新版Edge如何关闭自动填充表单功能?
  • JMeter实战之——模拟登录
  • js实现数据版购物车(实现购物车所有功能)
  • CSS基础—网页布局(重点!)
  • JavaWeb合集18-接口管理Swager
  • YOLOv5/v8/v10/v11详细介绍:网络结构,创新点
  • 升级Unity后产生的Objects内存泄露现象
  • 面试总结(2024/10/16)
  • ubuntu 硬盘扩容
  • python对文件的读写操作
  • 快速入门HTML
  • 影刀RPA实战:验证码识别功能指令
  • 华为手机卡住了怎么办?,快来试试布局性能优化,让你的手机发挥极致性能!!!
  • Linux TCP CC状态机
  • 渗透测试-SQL注入基础知识
  • 游戏提示x3daudio17.dll丢失怎么办? X3DAudio17.dll修复方法
  • C#从零开始学习(接口,强制转化和is)(7)
  • python之多任务爬虫——线程、进程、协程的介绍与使用(16)
  • 一种将树莓派打造为游戏机的方法——Lakka
  • nacos的原理,为什么可以作为注册中心,和zookeeper的区别