导航:首页 > 编程语言 > java日期字符串比较

java日期字符串比较

发布时间:2022-09-14 07:15:41

java 两个时间样式的字符串对比如:2015-11-02 与 2015/11/23 怎样对比其大小

importjava.util.Calendar;
importjava.util.Date;

publicclassCat
{
privatestaticDategetD(Stringdate)
{
String[]arr=date.split("[^\d]+");
Calendarcalendar=Calendar.getInstance();
calendar.set(Integer.parseInt(arr[0]),Integer.parseInt(arr[1])-1,Integer.parseInt(arr[2]));
returncalendar.getTime();
}

publicstaticvoidmain(String[]args)
{
Dated1=getD("2015-11-02");
Dated2=getD("2015/11/23");
if(d1.compareTo(d2)<0)
{
System.out.println("d1在d2前");
}
elseif(d1.compareTo(d2)>0)
{
System.out.println("d1在d2后");
}
else
{
System.out.println("一样");
}
}
}

㈡ java中两个字符串如何比较大小

有三种方法实现

第一种直接用字符串类的compareTo方法:

Stringt1="20131011";
Stringt2="20131030";
intresult=t1.compareTo(t2);

第二种是把这个日期字符串转换成long:

SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMdd");
Dated1=sdf.parse(t1);
Dated2=sdf.parse(t2);
longresult=d1.getTime()-d2.getTime();

第三种是把日期字符串转换成整形int:

intint1=Integer.parseInt(t1);
intint2=Integer.parseInt(t2);
intresult=int1-int2;

注:result大于0,则t1>t2;

result等于0,则t1=t2;

result小于0,则t1<t2;

㈢ 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;
}
}

㈣ 如何用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字符串日期排序比较问题

排序么?

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]

㈥ java中两个字符串如何比较大小

有三种方法实现

第一种直接用字符串类的compareTo方法:

Stringt1="20131011";
Stringt2="20131030";
intresult=t1.compareTo(t2);

第二种是把这个日期字符串转换成long:

SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMdd");
Dated1=sdf.parse(t1);
Dated2=sdf.parse(t2);
longresult=d1.getTime()-d2.getTime();

第三种是把日期字符串转换成整形int:

intint1=Integer.parseInt(t1);
intint2=Integer.parseInt(t2);
intresult=int1-int2;

注:result大于0,则t1>t2;

result等于0,则t1=t2;

result小于0,则t1<t2;

㈦ java中,字符串类型的日期格式,如:“18:20:56”和“15:12:45”怎么比较大小

字符串可以直接比较,日期型的话可以装换成1970年1月1日起的长整型数字再来比较。

㈧ java中两个字符串如何比较大小

int1
int2
long
t1="=
result
20131011"Integer;SimpleDateFormat("
有三种方法实现
第一种直接用字符串类的compareTo方法;
t1;
int
yyyyMMdd"
result小于0;
);
 .parseInt(t2);int
int1-int2;Date ;
sdf;d1
SimpleDateFormat
 .getTime();int
result
sdf;
注;Integer:
result等于0,则t1=t2.compareTo(t2);t2;
;Date
=
d2
= :
t2="
d1.getTime()-d2;=
第二种是把这个日期字符串转换成long;=
 .parse(t2);
=
 ;
String
t2:
 .parseInt(t1);
result
String
int
new
,则t1>
sdf
= ,则t1<
第三种是把日期字符串转换成整形int:result大于0.parse(t1);20131030"

㈨ java中如何比较两个时间字符串的大小

一种思路:用 SimpleDateFormat 来处理,可以转成long形式的,那是1970年1月1日起到现在的毫秒数。可以直接比大小了。

另外一种思路:因为你这里是用的补全格式(7月写成了07),那么可以直接字面转了比较
public static void main(String[] _s) {
String str1 = "2010-07-16 12:00:00";
long longstr1 = Long.valueOf(str1.replaceAll("[-\\s:]",""));
System.out.println(longstr1);
}
这个结果是20100716120000,就这个意思,直接字面转成long形式后比

阅读全文

与java日期字符串比较相关的资料

热点内容
压缩因子定义 浏览:968
cd命令进不了c盘怎么办 浏览:214
药业公司招程序员吗 浏览:974
毛选pdf 浏览:659
linuxexecl函数 浏览:727
程序员异地恋结果 浏览:374
剖切的命令 浏览:228
干什么可以赚钱开我的世界服务器 浏览:290
php备案号 浏览:990
php视频水印 浏览:167
怎么追程序员的女生 浏览:487
空调外压缩机电容 浏览:79
怎么将安卓变成win 浏览:459
手机文件管理在哪儿新建文件夹 浏览:724
加密ts视频怎么合并 浏览:775
php如何写app接口 浏览:804
宇宙的琴弦pdf 浏览:396
js项目提成计算器程序员 浏览:944
pdf光子 浏览:834
自拍软件文件夹名称大全 浏览:328