㈠ 在java的程序里date类型怎么比较大小呀
有两个方法:
方法一:
两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
(1)javadate时间比较扩展阅读:
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计算两个日期时间相差几天,几小时,几分钟等
思路是先计算两个日期相差的毫秒数,然后分别根据每天的毫秒数、每小时的毫秒数、每分钟的毫秒数来计算相差几天,几小时,几分钟。具体代码如下:
public static String getDatePoor(Date endDate, Date nowDate) {
long nd = 1000 * 24 * 60 * 60;//每天毫秒数
long nh = 1000 * 60 * 60;//每小时毫秒数
long nm = 1000 * 60;//每分钟毫秒数
long diff = endDate.getTime() - nowDate.getTime();// 获得两个时间的毫秒时间差异
long day = diff / nd; // 计算差多少天
long hour = diff % nd / nh;// 计算差多少小时
long min = diff % nd % nh / nm; // 计算差多少分钟
return day + "天" + hour + "小时" + min + "分钟";
}
然后做一个测试,调用这个方法测试一下:
可以看出两个日期时间相差几天,几小时,几分钟都可以算出来。
(2)javadate时间比较扩展阅读:
Java使用以下三种告辩方法来比较两个日期:
1、使用 getTime() 方基橘法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
2、使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
3、使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实搏友团现了这个接口。
㈢ java输入三个日期比较大小该怎么做
输入要比较的日期以及代码咐明。
㈣ java 中的date怎么比较
如果两个都是Date类型的话,是可以直接用Date类的方法before和after进行比较的
㈤ java中时间比较
1,FormatDate转换成字符串比较
2,利用Date类的方法getTime() 得到long类型的值进行比较
3,利用Date 的方法
boolean after(Date when)
测试此日期是否在指定日期之后。
boolean before(Date when)
测试此日期是否在指定日期之前。
boolean equals(Object obj)
比较两个日期的相等性。
㈥ java 日期怎么比较大小
例子:
String beginTime=new String("2017-06-09 10:22:22");
String endTime=new String("2017-05-08 11:22:22");
直接用Date自带方法before()和after()比较
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
System.out.println(sd1.before(sd2));
System.out.println(sd1.after(sd2));
用String的compareTo()方法:
Integer i=beginTime.compareTo(endTime);
System.out.println(i);
返回正值是代表左侧日期大于参数日期,反之亦然,日期格式必须一致
转成date格厅嫌式换成秒数比较秒数大小,getTime()方法
Date sd1=df.parse(beginTime);
Date sd2=df.parse(endTime);
long long1 =sd1.getTime()
long long2= sd2.getTime()
(6)javadate时间比较扩展阅读:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好弯伏绝地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用埋姿程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
㈦ java输入的日期与当前的日期做比较
Java中日期时间比较
java.text.SimpleDateFormat 类 ----时间日期格式化
java.util.Date类 ----型启侍构造时间日期
java.util.Date类compareTo方法旁戚 ----比较日期时间
java中日期时间的比较要用到java.text.SimpleDateFormat 类和java.util.Date类compareTo方法,SimpleDateFormat类用于时间日期格式化,将日期时间格式化为制定的格式,compareTo方法用于比较日期时间。以下为我写过的程序片段:
String data=doc.getItemValueString("fd_ngr");
//拟稿时间
String data4=data.substring(data.indexOf(' '),data.length());
int panan=data4.indexOf("-");
int panan1=data4.indexOf("/");
ec_dbsy=vi_dbsy.getAllEntries();
//构造日期格式yyyy-MM-NN
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat formatter2 = new SimpleDateFormat("MM/dd/yyyy");
if(data4.length()!=0)
{
if (panan!=-1){
try {
Date date1 = formatter.parse(data4);
Date date0=new Date();
Date date2 =formatter.parse("2006-08-31");
Date date3=formatter.parse("2006-07-01");
int number1=date1.compareTo(date2);
int number2=date1.compareTo(date3);
//返回 0 表示时间日期相同
//返回 1 表示日期1>日期2
//返回 -1 表示日期1<日期2
if( number2==1)
{
if(number1==-1)
{
System.out.println("日期格式符合要求!");
System.out.println("日期格式符合卜吵要求的yyyy-MM-dd的文档ID是:"+doc.getUniversalID());
String mPath="\\"+"\\10.52.4.4\\d$\\Program Files\\WebSphere\\AppServer\\installedApps\\oa1\\oaWeb20061030_war.ear\\oaWeb20061030.war\\doc_fw";
DaglImpl daglImpl = new DaglImpl();
daglImpl.addFW(doc,mPath); //归档处理
}
}
} catch (ParseException e) {
e.printStackTrace();
}
}
㈧ 如何正确比较日期 java.sql.Date
java.sql.Date比较:
import java.sql.Date;
例如今天是2010-12-2
Date d1 = new Date(System.currentTimeMili());
Date d2 = new Date(System.currentTimeMili()+1);//比d1晚1毫秒
日期上,我们认为d1和d2是相等的
但是
System.out.println(d1.before(d2));
输出结果是true;
其实我们希望看到的是这两个对象在日期上是相等的。
因为我们只关心“日期”,而“2010-12-2”不等于“2010-12-2”
这个结果显然是我们所不能接受的。
究其原因,是因为Date内封装了一个精确到毫秒的表示时间的
private transient long fastTime;
而before和after的函数的实现如下,都是判断fastTime的值,所以达不到我们只比较日期的要求。
public boolean before(Date when) {
return getMillisOf(this) < getMillisOf(when);
}
public boolean after(Date when) {
return getMillisOf(this) > getMillisOf(when);
}
把日期格式成标准的“年月日”,然后对格式化后的对象进行比较,得到比较的结果
本文给出一种“格式成标准化”的方式
Date d1_temp = java.sql.Date.valueOf(d1.toString());
Date d2_temp = java.sql.Date.valueOf(d2.toString());
System.out.prinltn(d1_temp.equals(d2_temp));//输出结果是true;
System.out.prinltn(d1_temp.before(d2_temp));//输出结果是false;
System.out.prinltn(d1_temp.after(d2_temp));//输出结果是false;
需要逻辑的话,可以写成
if(d1_temp.before(d2_temp)){
.........
}
㈨ 在java的程序里date类型怎么比较大小
两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
实际上比较的是自1970 年 1 月 1 日 00:00:00 GMT以来的毫秒数。毫秒数越大的时间越大。
String DateStr1 = "2011-10-1 10:20:16";
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);
ps:感觉别人说的很清楚明了。学习!!!