在java的程序里date类型怎么比较大小呀?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java的程序里date类型怎么比较大小呀?相关的知识,希望对你有一定的参考价值。
急
有两个方法:
方法一:
两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
方式二:
Date.after()这样的方式不能比较出相等的时间。
扩展资料:
Date类可以在java.util包中找到,用一个long类型的值表示一个指定的时刻。它的一个有用的构造函数是Date(),它创建一个表示创建时刻的对象。
getTime()方法返回Date对象的long值。在下面的程序中,我使用Date()构造函数创建一个表示程序运行时刻的对象,并且利用getTime()方法找到这个日期代表的毫秒数量:
import java.util.*;
public class Now
public static void main(String[] args)
Date now = new Date();
long nowLong = now.getTime();
System.out.println("Value is " + nowLong);
参考资料来源:百度百科——java日期函数
参考技术A在java的程序里比较date类型的方法如下:
1、java.util.Date类实现了Comparable接口,可以直接调用Date的compareTo()方法来比较大小,compareTo()方法的返回值,date1小于date2返回-1,date1大于date2返回1,相等返回0如下。
String beginTime = "2018-07-28 14:42:32";
String endTime = "2018-07-29 12:26:32";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
Date date1 = format.parse(beginTime);
Date date2 = format.parse(endTime);
int compareTo = date1.compareTo(date2);
System.out.println(compareTo);
catch (ParseException e)
e.printStackTrace();
2、通过Date自带的before()或者after()方法比较,如下。
String beginTime = "2018-07-28 14:42:32";
String endTime = "2018-07-29 12:26:32";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
Date date1 = format.parse(beginTime);
Date date2 = format.parse(endTime);
boolean before = date1.before(date2);
System.out.println(before);
catch (ParseException e)
e.printStackTrace();
3、通过调用Date的getTime()方法获取到毫秒数来进行比较,如下。
String beginTime = "2018-07-28 14:42:32";
String endTime = "2018-07-29 12:26:32";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
Date date1 = format.parse(beginTime);
Date date2 = format.parse(endTime);
long beginMillisecond = date1.getTime();
long endMillisecond = date2.getTime();
System.out.println(beginMillisecond > endMillisecond);
catch (ParseException e)
e.printStackTrace();
扩展资料:
1、Java编程技巧之一,return 一个空的集合,而不是 null。如果一个程序返回一个没有任何值的集合,请确保一个空集合返回,而不是空元素。这样你就不用去写一大堆 ”if else” 判断null元素。
2、Java编程技巧之二,小心使用 String。因为字符串相加或者拼接的方式都会在对象池中查找字符串是否存在,如果不存在则创建,这样在拼接的过程中会产生大量中间过程的字符串,占用内存资源。
3、Java编程技巧之三,StringBuilder效率优于StringBuffer,但是StringBuffer线程安全。
参考资料来源:ImportNew-Java 8简明教程
参考技术B两个Date类型的变量可以通过compareTo方法来比较。
方法一:
java.util.Date类实现了Comparable接口,可以直接调用Date的compareTo()方法来比较大小
compareTo()方法的返回值,date1小于date2返回-1,date1大于date2返回1,相等返回0
方法二:
通过Date自带的before()或者after()方法比较
before()或者after()方法的返回值为boolean类型
方法三:
通过调用Date的getTime()方法获取到毫秒数来进行比较
参考资料:
百度百科——java日期函数
参考技术C两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
实际上比较的是自1970 年 1 月 1 日 00:00:00 GMT以来的毫秒数。毫秒数越大的时间越大。
String DateStr1 = "2014-08-21 10:20:16";
String DateStr2 = "2014-08-27 15:50:35";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dateTime1 = dateFormat.parse(DateStr1);
Date dateTime2 = dateFormat.parse(DateStr2);
int i = dateTime1.compareTo(dateTime2);
System.out.println(i < 0);
扩展资料:
在windows下编译java文件、执行:
1、先创建一个txt,更改为test.java。
2、编写代码,为输出为holloword。
3、找到cmd,并进行打开cmd。
4、编译java文件,输入命令为javac test.java。
5、如果没有报错,查看当前目录下是否有class文件产生。
6、执行class文件,在命令输入java test,输出为holloword。
参考技术D Date a;Date b;
假设现在你已经实例化了a和b
a.after(b)返回一个boolean,如果a的时间在b之后(不包括等于)返回true
b.before(a)返回一个boolean,如果b的时间在a之前(不包括等于)返回true
a.equals(b)返回一个boolean,如果a的时间和b相等返回true本回答被提问者采纳
java Date型时间比较大小
两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
实际上比较的是自1970 年 1 月 1 日 00:00:00
GMT以来的毫秒数。毫秒数越大的时间越大。
String
String DateStr2 = "2011-10-07 15:50:35";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dateTime1 = dateFormat.parse(DateStr1);
Date dateTime2 = dateFormat.parse(DateStr2);
int i = dateTime1.compareTo(dateTime2);
System.out.println(i < 0);
以上是关于在java的程序里date类型怎么比较大小呀?的主要内容,如果未能解决你的问题,请参考以下文章