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

java字符串日期比较

发布时间:2023-06-02 08:02:05

java中如何计算出两个日期之间相差多少天

思路就是根据它们相差的毫秒数除以每天的毫秒数(60*60*24*1000),代码如下:

public static void main(String[] args) throws ParseException {

String date1="1987-01-01";

String date2="2010-01-01";

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");

Date d1=sdf.parse(date1);

Date d2=sdf.parse(date2);

long daysBetween=(d2.getTime()-d1.getTime()+1000000)/(60*60*24*1000);

System.out.println("1987-01-01 与 2010-01-01 相隔 "+daysBetween+" 天");

}

运行结果如下:

(1)java字符串日期比较扩展阅读:

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 类实现了这个接口。

SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行

例如:

SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");

这一行代码确立了转换的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。

注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。

以上实例编译运行结果如下:

当前时间为: 2018-09-14 10:16:34

菜鸟教程-Java 日期时间

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

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

Ⅲ 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中如何比较两个时间字符串的大小

一种思路:用 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的程序里date类型怎么比较大小呀

有两个方法:

方法一:

两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。

(5)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字符串日期排序比较问题

排序么?

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如何判断两个日期字符串相差多少天

没有这样的函数,但是你自己可以封装一个这样的函数。
一般来说,并不计算两个日期相差的月数以及年数,因为月的天数以及年的天数并不是固定的,所以很多倒计时最多计算到天。
函数体:
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
String a="20140301";
String b = "20140225";
Long c = sf.parse(b).getTime()-sf.parse(a).getTime();
long d = c/1000/60/60/24;//天
System.out.println(d+"天");
只要将a,b当做参数传过去,将天数返回就可以

阅读全文

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

热点内容
高三倒计时缓解压力 浏览:619
一捏就变形的解压玩具怎么折 浏览:196
易融贷app借钱怎么 浏览:939
单片机侧重点 浏览:867
江苏惠普服务器虚拟化设计云主机 浏览:647
在欧拉app好猫充电桩怎么申请 浏览:449
反编译代码教程 浏览:798
linuxio阻塞 浏览:973
8脚单片机pic 浏览:821
如何看彩色涂鸦遮住的字安卓 浏览:688
摆渡机器人编程 浏览:654
软程序员着装 浏览:139
宝鸡云存储服务器 浏览:668
推荐超解压游戏无广告 浏览:634
大华服务器怎么添加门禁 浏览:784
战地服务器60hz什么意思 浏览:760
成高级程序员学什么 浏览:501
阿里云接入备案后退掉服务器 浏览:928
ne40e命令 浏览:85
安卓输入法使用什么编码 浏览:184