⑴ 在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]