首页 > 编程语言 >C# DateTime 时间比较(只包含年月日时分不包含秒)

C# DateTime 时间比较(只包含年月日时分不包含秒)

时间:2023-10-17 15:57:37浏览次数:28  
标签:10 包含 C# t2 DateTime 时间 2023 年月日时 t1

一、DateTime.Compare(全时间比较)

        // 摘要:
        //比较系统的两个实例。DateTime,并返回一个整数,该整数指示
        //第一个实例是否早于、相同于或晚于第二个实例
        //例如。
        //
        // 参数:
        //t1:
        //第一个要比较的对象。
        //t2:
        //第二个要比较的对象。
        //
        // 返回结果:
        //一个带符号的数字,表示t1和t2的相对值。
        //值类型-条件
        //小于零–t1早于t2。
        //零–t1与t2相同。
        //大于零–t1晚于t2。
        public static int Compare(DateTime t1, DateTime t2);

注:DateTime的Compare方法为全时间比较,方法返回值为int,t1>t2返回值大于0,t1<t2返回值小于0,t1=t2返回值等于0。

二、使用TimeSpan实现部分时间比较(可实现只包含年月日时分不包含秒)

TimeSpan:表示时间间隔

问题:想要判断两个时间前部分比较,例如:

t1:2023/10/01 11:10:25
t2:2023/10/01 11:10:29
t3:2023/10/01 11:10:29
t4:2023/10/01 11:11:29

仅想比较 t1、t2、t3、t4 红色部分,不考虑秒。

方案:时间相减得到TimeSpan类型的时间间隔, TimeSpan包含转为不同单位的成员变量(如分钟:TotalMinutes),使用相应的方法得到double类型数值(两个时间间隔多少分钟,不考虑小数就是不考虑秒)。

            //时间t1
            DateTime t1 = DateTime.Now;
            //时间t2
            DateTime t2 = new DateTime(2023, 10, 17, 15, 15, 59);
            //时间t1-t2 得到时间间隔TimeSpan,将时间间隔转化为数值类型,
            TimeSpan ts = t1 - t2;
            //年月日时分比较
            double minutes = ts.TotalMinutes;
            if (minutes >= 1)
            {
                Console.WriteLine("t1 大于 t2 一分钟及以上");
            }
            //年月日时比较
            double hours = ts.TotalHours;
            if (minutes >= 1)
            {
                Console.WriteLine("t1 大于 t2 一小时及以上");
            }

成员变量:

        // 返回结果:将时间间隔转化为毫秒
        public double TotalMilliseconds { get; }//将时间间隔转化为小时
        public double TotalHours { get; }//将时间间隔转化为天数
        public double TotalDays { get; }is instance. The return value can be positive or negative.//将时间间隔转化为分钟
        public double TotalMinutes { get; }

三、比较DateTime.Date两个时间的年月日

参考:官方文档DateTime.Date

            //时间t1
            DateTime t1 = new DateTime(2023, 10, 18, 15, 15, 59);
            // 2023/10/18 00:00:00
            DateTime dateOnly1 = t1.Date;
            //时间t2
            DateTime t2 = new DateTime(2023, 10, 17, 15, 15, 59);
            // 2023/10/17 00:00:00
            DateTime dateOnly2 = t2.Date;            
            if (DateTime.Compare(t1.Date, t2.Date) > 0)
            {
                Console.WriteLine("年月日t1 大于 t2");
            }

 

标签:10,包含,C#,t2,DateTime,时间,2023,年月日时,t1
From: https://www.cnblogs.com/yyd-sun/p/17769649.html

相关文章

  • JSVC简介
    JSVC简介及原理-掘金(juejin.cn)jsvc可以理解为类unix系统下的启动并守护java进程的可执行程序,属于ApacheCommonsDaemon项目。包括一下方法:voidinit(String[]arguments):Hereopenconfigurationfiles,createatracefile,createServerSockets,Threadsvoidsta......
  • 【NSSCTF逆向】【2023题目】《润!》
    题目解法这道题蛮搞的,不算简单。刚开始拿到这道题运行一下有些信息,是一道迷宫题,可能flag是我们输入的路线吧?先拿exeinfo来看看告诉我有壳,但是不要用upx-d来脱壳,结合题目的标签,知道这题有一个魔改upx壳。硬脱不行。说实话我对upx的了解很皮毛,网上搜了搜upx壳的详细源......
  • CF1068B LCM
    \[\frac{\operatorname{lcm}(a,b)}{a}=\frac{\frac{a\timesb}{\gcd(a,b)}}{a}=\frac{b}{\gcd(a,b)}\]因为\(a\)最大可以到\(10^{18}\),而\(b\)最大只有\(10^{10}\),对于\(b\)的每个可能成为答案的因数\(p\),只需构造\(a=\frac{b}{p}\)即可得到,所以答案就是\(b\)的因数......
  • OpenHarmony页面级UI状态存储:LocalStorage
     LocalStorage是页面级的UI状态存储,通过@Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。LocalStorage也可以在UIAbility内,页面间共享状态。本文仅介绍LocalStorage使用场景和相关的装饰器:@LocalStorageProp和@LocalStorageLink。说明:LocalStorage从API v......
  • c++数组的二进制文件读写
    #include<fstream>//forifstream、ofstreamtemplate<typenameOB>inlinevoidsaveObject(constchar*filename,OB&object,intlength)//传入要保存的对象引用{std::ofstreamosm(filename,std::ios::out|std::ios::binary);osm.write((constcha......
  • kubectl 格式化输出
    1、显示Pod的更多信息,例如Node等:[root@k8s-master~]#kubectlgetpodnginx-585449566-qkwhc-owideNAMEREADYSTATUSRESTARTSAGEIPNODENOMINATEDNODEREADINESSGATESnginx-585449566-qkwhc1/1Runnin......
  • linux内核:伙伴算法、slab算法、ptmalloc、tcmalloc使用场景
    linux内核空间Linux内核空间分为三个区域ZONE:ZONE_DMA,ZONE_NORMAL,ZONE_HIGHMEM物理地址空间的顶部以下一段空间,被PCI设备的I/O内存映射占据,它们的大小和布局由PCI规范所决定。640K~1M这段地址空间被BIOS和VGA适配器所占据由于这两段地址空间的存在,导致相应的RAM空间不......
  • Go - Uploading a File to a Web Application
    Problem: Youwanttouploadafiletoawebapplication. Solution: Usethenet/httppackagetocreateawebapplicationandtheiopackagetoreadthefile. UploadingfilesiscommonlydonethroughHTMLforms.YoulearnedthatHTMLformshaveanencty......
  • 一图看懂CodeArts Governance 三大特性,带你玩转开源治理服务
    华为云开源治理服务CodeArtsGovernance是针对软件研发提供的一站式开源软件治理服务,凝聚华为在开源治理上的优秀实践经验,提供开源软件元数据及软件成分分析、恶意代码检测等能力,从合法合规、网络安全、供应安全等维度消减开源软件使用风险,助力企业更加安全、高效地使用开源软件。......
  • [Compose] Callback is not suitable for Async programming
    Anexampleofcallbackimplemnetationforhandlingasyncflow:functionfakeAjax(url,cb){varfake_responses={file1:"Thefirsttext",file2:"Themiddletext",file3:"Thelasttext",};varrandomDela......