① java怎樣比較兩個日期的大小
比較getTime獲取的整數值大小即可,整數值大的時間就大,整數值小的時間就小
例如:
1
2
3
4
5
6
7
8
9
10
11
public int compareDate(Date d1,Date d2){
if (dt1.getTime() > dt2.getTime()) {
System.out.println("dt1 在dt2前");
return 1;
} else if (dt1.getTime() < dt2.getTime()) {
System.out.println("dt1在dt2後");
return -1;
} else {//相等
return 0;
}
}
② java日期比較大小
public static void main(String[] args) {
String time="2012-03-04";
String time1="2012-03-05";
int point=8;
String a="時間:"+time+"分數:"+point++;
String b="時間:"+time+"分數:"+point++;
String c="時間:"+time+"分數:"+point++;
String d="時間:"+time1+"分數:"+point++;
String e="時間:"+time1+"分數:"+point++;
String f="時間:"+time1+"分數:"+point++;
String g="時間:"+time1+"分數:"+point++;
List<String> sug = new ArrayList<String>();
sug.add(a);
sug.add(b);
sug.add(c);
sug.add(d);
sug.add(e);
sug.add(f);
sug.add(g);
List<String> res = new ArrayList<String>();
String exp = "";
int count = 0;
for(int i=0;i<sug.size();i++){
exp = sug.get(i);
if(res.size()==0){
res.add(exp);
}else{
int size = res.size();
for(int j=0;j<size;j++){
if(res.get(j).indexOf(exp.split(":")[1])>0){
count+=1;
if(Integer.parseInt(exp.split(":")[2])>Integer.parseInt(res.get(j).split(":")[2])){
String tmp = "";
tmp = exp;
exp = res.get(j);
res.set(j, tmp);
}
}else if(j+1 == res.size()){
res.add(exp);
}
if(j+1==res.size() && count<3 && count!=3){
res.add(exp);
}
}
count = 0;
}
}
Iterator<String> it = res.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
③ 如何用java比較兩個時間或日期的大小
首先
按照一定的格式輸入兩個日期的字元串
然後用simpledateformat類轉換成date實例date1,
date2
然後
calendar
cal1
=
calendar.getinstance();
calendar
cal2
=
calendar.getinstance();
cal1.settime(date1);
cal2.settime(date2);
這樣你就有了兩個表示所輸入日期的calendar實例了
calendar可以做很多事
比如用cal1.after(cal2)或者cal1.before(cal2)或者cal1.equals(cal2)或者cal1.compareto(cal2)來比較兩個日期時間先後
比如cal.get(calendar.year)可以得到表示該日期年份的整數
同理cal.get(calendar.month)可以得到月份
甚至可以用cal.gettimeinmillis()得到表示該日期的毫秒數
有了這些方法,簡單的計算之後就可以得到需要的相差的信息
如果樓主是來求現成的源代碼的-
-
我沒有
④ 在java的程序里date類型怎麼比較大小呀
有兩個方法:
方法一:
兩個Date類型的變數可以通過compareTo方法來比較。此方法的描述是這樣的:如果參數 Date 等於此 Date,則返回值 0;如果此 Date 在 Date 參數之前,則返回小於 0 的值;如果此 Date 在 Date 參數之後,則返回大於 0 的值。
(4)java比較日期的大小寫擴展閱讀:
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判斷是否是日期
樓主提出的問題有點片面,我的理解是,你是不是想判斷字元串是不是日期格式?如果已經是日期類型,那就不需要判斷了,對把。判斷給定字元串是不是日期我給你提供兩種解決思路,一種是用正則,代碼我給你寫好了。
publicbooleanisDate(Stringdate){
/**
*判斷日期格式和范圍
*/
Stringrexp="^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";
Patternpat=Pattern.compile(rexp);
Matchermat=pat.matcher(date);
booleandateType=mat.matches();
returndateType;
}
參數就是你要判斷的日期字元串,返回布爾值;
另一種方式就是:玩字元串正則才是王道嘛!希望採納
publicbooleanisValidDate(Stringstr){
booleanconvertSuccess=true;
//指定日期格式為四位年/兩位月份/兩位日期,注意yyyy/MM/dd區分大小寫;
//如果想判斷格式為yyyy-MM-dd,需要寫成-分隔符的形式
SimpleDateFormatformat=newSimpleDateFormat("yyyy/MM/ddHH:mm");
try{
format.setLenient(false);
format.parse(str);
}catch(ParseExceptione){
//e.printStackTrace();
//如果拋出ParseException或者NullPointerException,就說明格式不對
convertSuccess=false;
}
returnconvertSuccess;
}
推薦使用正則,
⑥ java中怎麼比較兩個日期的大小
JDK問道里 這三個方法都可以。
after:當且僅當此 Date 對象表示的瞬間比 when 表示的瞬間晚,才返回 true;否則返回
false。
before:早
compareTo:如果參數 Date 等於此 Date,則返回值 0;如果此 Date 在 Date 參數之前,則返回小於 0
的值;如果此 Date 在 Date 參數之後,則返回大於 0 的值。
⑦ 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()
(7)java比較日期的大小寫擴展閱讀:
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
⑧ java 日期比較大小
大於等於 ====》不小於
!date1.before(date2)
⑨ java怎麼比較兩個日期(年和月)的大小
你好,沒有這樣的函數。不過我可以給你一段比較的代碼。希望對你有幫助。代碼如下:import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date; /**
*
* @author hp
*/
public class test { public static void main(String args[]) {
int i= compare_date("2009-11-12 15:21", "2009-12-11 09:59");
System.out.println("i=="+i);
} public static int compare_date(String DATE1, String DATE2) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");
try {
Date dt1 = df.parse(DATE1);
Date dt2 = df.parse(DATE2);
if (dt1.getTime() > dt2.getTime()) {
System.out.println("dt1 在dt2前");
return 1;
} else if (dt1.getTime() < dt2.getTime()) {
System.out.println("dt1在dt2後");
return -1;
} else {
return 0;
}
} catch (Exception exception) {
exception.printStackTrace();
}
return 0;
}
}