㈠ java 中 日期如何相加减
Date类的getTime()方法返回long型,单位时毫秒。因此对两个Date调用getTime()方法后相减并除以相应数字换算单位即可。
㈡ java月份相减
/**
* @param args
*/
野哪public static Integer getDiffNum(Date startMonth,Date endMonth){
Integer monthNum = 0;
Integer yearNumber = 0;
Calendar startCalendar = Calendar.getInstance();
Calendar endCalendar = Calendar.getInstance();
皮伍 startCalendar.setTime(startMonth);
endCalendar.setTime(endMonth);
yearNumber = endCalendar.get(endCalendar.YEAR) - startCalendar.get(endCalendar.YEAR);
monthNum = endCalendar.get(Calendar.MONTH) - startCalendar.get(Calendar.MONTH);
return yearNumber*12 + monthNum;
}
燃脊或
已经测试
㈢ java 如何将日期年份相减
假设有两个日期。第一个日期为:2012年9月13日2时3分4秒第二个日期为:2012年8月12日0时0分0秒求二者的时间差的代码如下 import java.text.Simple
㈣ java中如何判断两个日期相差一个整月
一楼的回答太局限了,如果用秒来判断没什么精确度,因为一个月有30,31,28,29这样判断版太累
用Calendar类就轻松精确多了权
Date转Calendar的类的方法 Calendar的方法setTime(Date d)
如何比较两个Calendar呢
Calendar的get(Field)方法可以取出年,月,日等等你想要的任何数据
你只需要判断get(Calendar.YEAR)和get(Calendar.DAY_OF_YEAR)是否相等
在判断get(Calendar.MONTH)的值是否相差为1即可
Calendar是sun推出的专门针对日期的处理,比较的类,有兴趣你可以看看API
㈤ 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按照时间查询,获取近1月时间信息。时间如何加减简单易懂,谢谢了。
1.用java.util.Calender来实现
Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);//让日期加1
System.out.println(calendar.get(Calendar.DATE));//加1之后的日期Top
===============================================================================
2.用java.text.SimpleDateFormat和java.util.Date来实现
Date d=new Date();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
System.out.println("今天的日期:"+df.format(d));
System.out.println("两天前的日期:" + df.format(new Date(d.getTime() - 2 * 24 * 60 * 60 * 1000)));
System.out.println("三天后的日期:" + df.format(new Date(d.getTime() + 3 * 24 * 60 * 60 * 1000)));
㈦ 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 两个日期相减的怎么做
对已日期相减,最高效的做法就是将二者都转换成毫秒,相减之后再根据你的需求进行单位转换,比如你想显示相差的秒数,就除以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类是非线程安全的,所以在高并发下需要加同步锁,否则会出现灵异事件。