当前位置:首页 » 编程语言 » 日期相减java

日期相减java

发布时间: 2022-07-10 10:55:47

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 的日期相减的代码

import java.text.SimpleDateFormat;
import java.util.*;

public class TimeCal {
final private static SimpleDateFormat dateformat = new SimpleDateFormat("yyyyMMdd");

public static void main(String[] args) {

Calendar calendar1 = Calendar.getInstance();
Calendar calendar2 = Calendar.getInstance();
calendar1.set(2009, 0, 1);//0到11表示1到12月
calendar2.set(2009, 0, 2);
long str=calendar2.getTimeInMillis()-calendar1.getTimeInMillis();
System.out.println(dateformat.format(calendar2.getTime())+"与"+dateformat.format(calendar1.getTime())+"隔"+str/(24*60*60*1000)+"天");
}

}

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

public class DateSimple {

public static void main(String[] args) {
String startTime = "2012-07-01";
String endTime = "2014-07-31";

String[] arg1 = startTime.split("-");
String[] arg2 = endTime.split("-");
int year1 = Integer.valueOf(arg1[0]);
int year2 = Integer.valueOf(arg2[0]);
int month1 = Integer.valueOf(arg1[1]);
int month2 = Integer.valueOf(arg2[1]);

for (int i = year1; i <= year2; i++) {
int monthCount = 12;
int monthStart = 1;
if (i == year1) {
monthStart = month1;
monthCount = 12-monthStart+1;
} else if (i == year2) {
monthCount = month2;
}
for(int j = 0; j < monthCount; j++){
int temp = monthStart+j;
if(temp >=10){
System.out.println(i+"-"+(monthStart+j));
}else{
System.out.println(i+"-0"+(monthStart+j));
}
}

}
}
}

2012-07
2012-08
2012-09
2012-10
2012-11
2012-12
2013-01
2013-02
2013-03
2013-04
2013-05
2013-06
2013-07
2013-08
2013-09
2013-10
2013-11
2013-12
2014-01
2014-02
2014-03
2014-04
2014-05
2014-06
2014-07

Ⅳ java如何计算日期的加减

第一种,知道日期,如2019091109144
String str=txnTime;
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化输出日期
Date dt = null;
try {
dt = sdf.parse(str);
} catch (ParseException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.YEAR,-1);//日期减1年
rightNow.add(Calendar.MONTH,3);//日期加3个月
rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天
rightNow.add(Calendar.SECOND,60);//日期加60秒天
Date dt1=rightNow.getTime();
String reStr = sdf.format(dt1);
System.out.println(reStr);
第二种,自己获取时间,格式化输出计算加减
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化输出日期
Date now = new Date();
long time = 60*1000;//60秒
Date afterDate = new Date(now .getTime() + time);//60秒后的时间
Date beforeDate = new Date(now .getTime() - time);//60秒前的时间
System.out.println(sdf.format(afterDate ));

Ⅳ 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 中 日期如何相加减

这个东西很简单。
现在是2004-03-26 13:31:40
过去是:2004-01-02 11:30:24
要获得两个日期差,差的形式为:XX天XX小时XX分XX秒

方法一:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try
{
Date d1 = df.parse("2004-03-26 13:31:40");
Date d2 = df.parse("2004-01-02 11:30:24");
long diff = d1.getTime() - d2.getTime();
long days = diff / (1000 * 60 * 60 * 24);
}
catch (Exception e)
{
}

方法二:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse("2004-03-26 13:31:40");
java.util.Date date=df.parse("2004-01-02 11:30:24");
long l=now.getTime()-date.getTime();
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");

方法三:
SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date begin=dfs.parse("2004-01-02 11:30:24");
java.util.Date end = dfs.parse("2004-03-26 13:31:40");
long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒

long day1=between/(24*3600);
long hour1=between%(24*3600)/3600;
long minute1=between%3600/60;
long second1=between%60/60;
System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒");

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

date1.getTime()-date2.getTime()

Ⅷ java 如何将日期年份相减

import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Admin {

private static Format f = new SimpleDateFormat("yyyy-MM-dd");

public static void main(String... args) {

Date thisYear = new Date();
System.out.println(formatDate2YYYYMMDD(thisYear));

Date lastYear = lastYear(thisYear);
System.out.println(formatDate2YYYYMMDD(lastYear));
}

private static Date lastYear(Date thisYear) {
Calendar c = Calendar.getInstance();
c.setTime(thisYear);
c.add(Calendar.YEAR, -1);
return c.getTime();
}

private static String formatDate2YYYYMMDD(Date date) {
return f.format(date);
}
}

Ⅸ java中日期怎么相减

呵呵,你这个错误犯得很好,因为偶曾经也犯过。

你去查查calendar的API,看看mouth是从几开始的,你写3进去,到底最终的日期是多少呢?

Calendarcalendar=Calendar.getInstance();
calendar.set(2015,3,1);
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(calendar.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毫秒

热点内容
阿里云独享服务器 发布:2024-05-19 02:23:54 浏览:252
织梦源码ga 发布:2024-05-19 02:23:20 浏览:570
java文件名后缀 发布:2024-05-19 02:14:39 浏览:955
快手点榜脚本 发布:2024-05-19 02:08:44 浏览:162
pythonforinkeys 发布:2024-05-19 01:55:44 浏览:792
电脑如何局域网共享文件夹 发布:2024-05-19 01:25:01 浏览:68
手机存储越大性能越好吗 发布:2024-05-19 01:14:28 浏览:176
我的世界hyp服务器怎么玩 发布:2024-05-19 00:51:25 浏览:801
手机如何解压百度云文件 发布:2024-05-19 00:32:24 浏览:905
centos使用python 发布:2024-05-18 23:39:48 浏览:869