当前位置:首页 > java知识学习_java技术文章 > 正文

datetime.compare时间比较用法详解

浏览359+

一、compare方法简介

此方法是用于比较两个时间的先后顺序也就是早晚的意思,也可以比较两个对象的大小,相当于>和<比较数值的大小一样,具体格式如下:public static int Compare (DateTime t1, DateTime t2);

至于为什么datetime.compare()方法可以直接比较大小,其实翻看官方文档和官方源码不难看出,datetime的底层重载了小于和大于的方法,故大家可以放心使用。

此方法在比较时间早晚时需要注意一点,就是datetime底层是没有考虑时区问题的,如果传入的两个时间的时区都是一样的,比如中国都是东八区的情况下,比较的结果是正确的的,如果两个时间在不同的时区,得出的比较结果就是不正确的。

二、datetime.compare方法的用法与参数和返回值

函数语法格式代码如下:

public static int Compare (DateTime t1, DateTime t2);

该方法传入的两个参数分别是DateTime类型的两个时间值(前提是位于同一时区),返回值类型是一个int类型整型数值。

如果int值小于0,说明t1<t2,t1的时间要早于t2的时间,如果int值大于0,说明t1>t2,t1的时间要晚于t2,如果返回值int值等于0,说明两个参数时间相等。

compare方法返回值类型详情图

datetime.compare具体代码演示如下:

using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text; 
 namespace ConsoleApplication1
{
     class Program
     {
        static void Main(string[] args)
        { 

             DateTime t1 = DateTime.Parse("2013-2-2");
             DateTime t2 = DateTime.Parse("2013-3-1"); 

             )
                  Console.WriteLine(t1.compare(t2));
             )
         }
     }
 } san

三、关于compare方法时间比较的精度说明

当调用compare方法比较两个时间大小时,传入的两个时间参数除了必属同一时区之外,还必须属于同一个精度范围。

假如一个时间参数精确到年月日时分秒的格式,另一个参数只精确到年月日,datetime.compare方法比较时会默认将第二个参数的精度补全为0时0分0秒,这样得出的结果未免会有些偏差,详见下图的例子:

时间精度比较的错误案例

上图可以看出控制台打印出的结果确实将07年07月19日后面的精度范围加上了0时0分0秒,因此小编在这里温馨提示大家,两个时间参数比较时必须要将两个时间统一到同一个精度,要么都是年月日,要么都是年月日时分秒,这样才能确保程序不会出错。

 

相关文章推荐
mysql中datetime比较大小问题
本文讲解mysql中三种比较datetime大小的方法,第一种可以运用时间转换的方式将datetime转为容易比较的date方式,第二种可以使用mysql提供的时间函数unix_timestamp方法,将两个datetime类型的时间换算为时间戳进行比较大小
sql小技巧 group by datetime类型字段,只取其中的日期部分
datetime的时间类型是精确到毫秒值的,精度太精确了有时候也未必是件好事,比如使用分组查询时,产生的结果真的令人欲哭无泪,压根就不准确,因此就需要用到convert函数只截取其中的日起部分的格式
Java compare方法和compareTo方法
java中的compare方法比较两个字符串的大小很有意思,它们按照ASCII规定的顺序进行比较,两个字符串首先比较第一个字母,然后依次类推直到比较完成最后一个字母在ASCII码表中的顺序为止。
Java中的compareTo()函数是怎么用的?
Java中的compareTo()函数是接口java.lang.Comparable<T>中的方法,比较字符串时则返回参与比较的前后两个字符串的asc码的差值,也可以比较Byte, Long, Integer等其它基本数据类型和引用数据类型,但是传入的两个参数必须是同一个数据类型,不能跨数据类型比较大小。
责任声明:文章信息由IT教程屋小编精心整理总结编排而成,倾注了心血和汗水,转载时请遵循行业规范务必注明文章作者、来源及本页链接,谢谢合作!
本篇文章标题:datetime.compare时间比较用法详解
本篇文章url地址:http://www.itjcw123.cn/2668.html