⑴ 在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實現日期排序問題
java按文件日期排序方法,下面以對C盤Java目錄下文件進行按日期排序為例:
//引用java.io包里的所有類
importjava.io.*;
importjava.util.*;
publicclassFileOrder{
//按日期排序
publicstaticvoidorderByDate(StringfliePath){
Filefile=newFile(fliePath);
File[]fs=file.listFiles();
Arrays.sort(fs,newComparator<File>(){
publicintcompare(Filef1,Filef2){
longdiff=f1.lastModified()-f2.lastModified();
if(diff>0)
return1;
elseif(diff==0)
return0;
else
return-1;
}
publicbooleanequals(Objectobj){
returntrue;
}
});
for(inti=fs.length-1;i>-1;i--){
System.out.println(fs[i].getName());
System.out.println(newDate(fs[i].lastModified()));
}
}
publicstaticvoidmain(Stringargs[]){
orderByDate("c:/java");//調用方法對c:/java目錄下文件按日期排序
}
}
⑶ java字元串日期排序比較問題
排序么?
importjava.text.Format;
importjava.text.SimpleDateFormat;
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.Comparator;
importjava.util.Date;
importjava.util.List;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
System.out.println("字元串比較");
test1();
System.out.println("Date比較");
test2();
}
privatestaticvoidtest1(){
List<String>data=init();
System.out.println("排序前"+data);
Collections.sort(data,newComparator<String>(){
publicintcompare(Stringo1,Stringo2){
String[]arr1=o1.split("_");
String[]arr2=o2.split("_");
intcomparator=toInt(arr1[0],-1)-toInt(arr2[0],-2);
if(comparator==0){
comparator=toInt(arr1[1],-1)-toInt(arr2[1],-2);
if(comparator==0){
returntoInt(arr1[2],-1)-toInt(arr2[2],-2);
}
}
returncomparator;
}
});
System.out.println("排序後"+data);
}
privatestaticvoidtest2(){
List<String>data=init();
System.out.println("排序前"+data);
finalFormatf=newSimpleDateFormat("yyyy-MM-dd");
Collections.sort(data,newComparator<String>(){
publicintcompare(Stringo1,Stringo2){
Dated1;
Dated2;
try{
d1=(Date)f.parseObject(o1);
d2=(Date)f.parseObject(o2);
returnd1.compareTo(d2);
}catch(Exceptione){
e.printStackTrace();
}
return0;
}
});
System.out.println("排序後"+data);
}
privatestaticList<String>init(){
List<String>data=newArrayList<String>();
data.add("2013-3-3");
data.add("2012-4-4");
returndata;
}
privatestaticinttoInt(Stringstr,intdelVal){
try{
returnInteger.parseInt(str);
}catch(Exceptione){
returndelVal;
}
}
}
字元串比較
排序前[2013-3-3, 2012-4-4]
排序後[2012-4-4, 2013-3-3]
Date比較
排序前[2013-3-3, 2012-4-4]
排序後[2012-4-4, 2013-3-3]