导航:首页 > 编程语言 > java两个date相减

java两个date相减

发布时间:2023-06-12 13:47:16

java实现两个日期相减得到中间的年份和月份

没有编译环境,提供一下思路:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");

Calendar calendar = Calendar.getInstance();//日历对象
calendar.setTime(date1);//设置起始日期
while(calendar.getTime() <= date2)
{
System.out.println(sdf.format(calendar.getTime()));
calendar.add(Calendar.MONTH, 1);//月份加一
}

② java 中 日期如何相加减

Date类的getTime()方法返回long型,单位时毫秒。因此对两个Date调用getTime()方法后相减并除以相应数字换算单位即可。

③ java 中 日期怎么相加减

JAVA Calendar类提供了2个方法:add() 和 roll()。

Calendar cal = Calendar.getInstance();
add(f, delta) 将 delta 添加到 f 字段中。这等同于调用 set(f, get(f) + delta),
roll(f, delta) 将 delta 添加到 f 字段中,但不更改专更大的属字段。这等同于调用 add(f, delta)

如果要计算2个日期之间的差距,可以取得自1970 年 1 月 1 日的 00:00:00.000各自的毫秒数字,然后相减
long millionSecondsForDate1 = date1.getTime();
long millionSecondsForDate2 = date2.getTime();

long julianSeconds = millionSecondsForDate1 - millionSecondsForDate2 ;
然后你可以转化为你想要得时间,注意毫秒和秒之间进位是1000
1秒 = 1000毫秒

④ 如何用JAVA把两个时间相减

调试过的程序,可以直接运行`!!!!!!

import java.util.Date;

import com.ibm.icu.text.SimpleDateFormat;

public class mss {

public mss() {
}

public long fromDateStringToLong(String inVal) { //此方法计算时间毫秒
Date date = null; //定义时间类型
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-mm-dd hh:ss");
try {
date = inputFormat.parse(inVal); //将字符型转换成日期型
} catch (Exception e) {
e.printStackTrace();
}
return date.getTime(); //返回毫秒数
}

private static String dqsj() { //此方法用于获得当前系统时间(格式类型2007-11-6 15:10:58)
Date date = new Date(); //实例化日期类型
String today = date.toLocaleString(); //获取当前时间
System.out.println("获得当前系统时间 "+today); //显示
return today; //返回当前时间
}

public static void main(String[] args) {
String dqsj = dqsj(); //获得String dqsj = dqsj(); //获得当前系统时间
mss df = new mss(); //实例化方法

long startT=df.fromDateStringToLong("2005-03-03 14:51:23"); //定义上机时间
long endT=df.fromDateStringToLong("2004-03-03 13:50:23"); //定义下机时间

long ss=(startT-endT)/(1000); //共计秒数
int MM = (int)ss/60; //共计分钟数
int hh=(int)ss/3600; //共计小时数
int dd=(int)hh/24; //共计天数

System.out.println("共"+dd+"天 准确时间是:"+hh+" 小时 "+MM+" 分钟"+ss+" 秒 共计:"+ss*1000+" 毫秒");

}

}

这是执行结果``

获得当前系统时间 2007-11-6 15:57:39
共366天 准确时间是:8785 小时 527100 分钟31626001 秒 共计:31626001000 毫秒

⑤ java中如何得到两个时间相差多少小时

比较简单的方法就是使用.getTime()获取当前日期的相对毫秒数,再计算差值,最后转换成你需要的数据;

PS.

RESULT:

1天0小时0分0秒

相隔的小时数:分:秒 - 24:0:0

⑥ java中如何实现日期相减

求两个日期之间相隔的天数:
Java代码示例:回
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");
java.util.Date beginDate= format.parse("2007-12-24");
java.util.Date endDate= format.parse("2007-12-25");
long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);
System.out.println("相隔的天答数="+day);

⑦ java里日期如何相加减如何计算两个时间的差值

date1.getTime()-date2.getTime()

⑧ java 两个日期相减的怎么做

对已日期相减,最高效的做法就是将二者都转换成毫秒,相减之后再根据你的需求进行单位转换,比如你想显示相差的秒数,就除以1000,以此类推,翠花,上代码:

/*随便选两个时间*/
Stringd1="2015-04-17";
Stringd2="2015-06-17";

/*先转成毫秒并求差*/
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
longm=sdf.parse(d2).getTime()-sdf.parse(d1).getTime();

/*根据你的需求进行单位转换*/
System.out.println("相差毫秒数:"+m);
System.out.println("相差天数:"+(m/(1000*60*60*24)));

要注意的地方:

时间格式可能有很多种,比如20150611或者2015年6月11日等等。所以你需要以对应的方式来初始化SimpleDateFormat对象。

例如20150611,就要写成:

SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMdd");

SimpleDateFormat类是非线程安全的,所以在高并发下需要加同步锁,否则会出现灵异事件。

阅读全文

与java两个date相减相关的资料

热点内容
dede工具 浏览:507
5g网盟app怎么下载 浏览:486
微信备份老是连接中断 浏览:886
出台多少份文件 浏览:380
鞋子怎么搭配衣服的app 浏览:755
文件名使用的通配符的符号是什么 浏览:916
lol分卷文件损坏怎么办 浏览:276
6分管车螺纹怎么编程 浏览:732
海口农商银行信用卡app是什么 浏览:770
win10任务栏文件夹我的电脑 浏览:14
安卓nba2k18 浏览:776
文件夹密码怎么修改密码 浏览:271
苹果数据中心用什么服务器 浏览:769
省内圆通快递寄文件夹需要多少钱 浏览:740
iphone程序加密 浏览:884
win10文件夹调整文件行高 浏览:681
创意手绘教程 浏览:754
微信删除帐号信息 浏览:596
mysql操作类文件 浏览:649
绕过xp密码 浏览:158

友情链接