「JAVA年月减」java date日期相减
今天给各位分享JAVA年月减的知识,其中也会对java date日期相减进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
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月份相减
/**
* @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 中 日期如何相加减???
这个东西很简单。
现在是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中如何实现日期相减
求两个日期之间相隔的天数:
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.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Example {
public static strictfp void main(String[] args) throws ParseException {
String string = "2012/10/20";
String string2 = "2013/11/05";
String[] dates = getMonth(string, string2);
for(int i = 0 ; i dates.length ; i++) {
System.out.print(dates[i] + " ");
}
}
@SuppressWarnings("deprecation")
private static String[] getMonth(String string, String string2) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
Date date1 = sdf.parse(string);
Date date2 = sdf.parse(string2);
int month = 0;
String[] months;
//假如年份相等
if(date1.getYear() == date2.getYear()) {
month = date2.getMonth() - date1.getMonth();
months = new String[month+1];
months[0] = date1.getMonth() + 1 + "月" ;
for(int i = 1; i months.length; i++) {
months[i] = date1.getMonth() + 1 + i + "月";
}
return months;
} else {
//相差的年数乘以12是月数
month = (date2.getYear() - date1.getYear())*12 +date2.getMonth() - date1.getMonth();
months = new String[month + 1];
months[0] = date1.getMonth() + 1 + "月" ;
System.out.println(month);
for(int i = 1; i months.length; i++) {
//这里要进行取余操作,,,,,例如 13个月会变成 1月
if((date1.getMonth() + 1 + i)%12 == 0) {
months[i] = "12月" ;
continue;
}
months[i] = (date1.getMonth() + 1 + i)%12 + "月";
}
return months;
}
}
}
啥也不说了....着急要分 代码没重构...... string2 必须比 string 要大的 这个你知己排除下拉 大哥.....求分啦~~
java时间加减
附上代码:
Date date = new Date("2014/1/10 18:20");
Date date2 = new Date("2014/1/11 3:5");
long temp = date2.getTime() - date.getTime(); //相差毫秒数
long hours = temp / 1000 / 3600; //相差小时数
long temp2 = temp % (1000 * 3600);
long mins = temp2 / 1000 / 60; //相差分钟数
System.out.println("date2 与 date 相差" + hours + "小时"+ mins + "分钟");
****************************************希望能够帮助到你!************************************************
如果我的回答对你有帮助,
别忘了点击我的回答下方【选为满意答案】按钮。
谢谢!
JAVA年月减的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java date日期相减、JAVA年月减的信息别忘了在本站进行查找喔。