java怎么计算出 某年某月 到 某年某月之间的总月数并显示出来
答案:4 悬赏:0
解决时间 2021-01-20 23:30
- 提问者网友:黑米和小志
- 2021-01-20 16:28
java怎么计算出 某年某月 到 某年某月之间的总月数并显示出来
最佳答案
- 二级知识专家网友:鱼忧
- 2021-01-20 17:46
//思路 (不考虑开发语言的因素)
// 月份只差其实就是,年份只差 乘以12 然后再加上 月份只差, 比如 2009-09 ----2012-02
// 这个就应该 (2012-2009 )*12 +(2-9)=36 +(-7)=29
//思路有了直接使用java套就可以了
public static void main(String[] args) throws ParseException {
//字符串格式化
DateFormat df = new SimpleDateFormat("yyyy-MM");
//字符串装换为Calendar
Calendar c= Calendar.getInstance();
c.setTime(df.parse("2009-01"));
//字符串装换为Calendar
Calendar d= Calendar.getInstance();
d.setTime(df.parse("2012-01"));
//计算年份只差 乘以12 然后加上月份之差
int m=(d.get(Calendar.YEAR)-c.get(Calendar.YEAR))*12+d.get(Calendar.MONTH)-c.get(Calendar.MONTH);
System.out.println(m);
}
//建议楼主多看看api,现在网上有很多西方下载就不给你连接了。
// 月份只差其实就是,年份只差 乘以12 然后再加上 月份只差, 比如 2009-09 ----2012-02
// 这个就应该 (2012-2009 )*12 +(2-9)=36 +(-7)=29
//思路有了直接使用java套就可以了
public static void main(String[] args) throws ParseException {
//字符串格式化
DateFormat df = new SimpleDateFormat("yyyy-MM");
//字符串装换为Calendar
Calendar c= Calendar.getInstance();
c.setTime(df.parse("2009-01"));
//字符串装换为Calendar
Calendar d= Calendar.getInstance();
d.setTime(df.parse("2012-01"));
//计算年份只差 乘以12 然后加上月份之差
int m=(d.get(Calendar.YEAR)-c.get(Calendar.YEAR))*12+d.get(Calendar.MONTH)-c.get(Calendar.MONTH);
System.out.println(m);
}
//建议楼主多看看api,现在网上有很多西方下载就不给你连接了。
全部回答
- 1楼网友:动情书生
- 2021-01-20 20:47
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
String startDate = "2011-03";
String endDate = "2010-07";
//转换为Calendar对象
Calendar startCalendar = Calendar.getInstance();
startCalendar.set(Integer.parseInt(startDate.split("-")[0]), Integer.parseInt(startDate.split("-")[1]), 1);
Calendar endCalendar = Calendar.getInstance();
endCalendar.set(Integer.parseInt(endDate.split("-")[0]), Integer.parseInt(endDate.split("-")[1]), 1);
int totalMonth = 0;
totalMonth += 12 - startCalendar.get(Calendar.MONTH) -1;//开始日期到年底的月份
totalMonth += (endCalendar.get(Calendar.YEAR) - startCalendar.get(Calendar.YEAR) - 1) * 12;//中间相差年数的月份
totalMonth += endCalendar.get(Calendar.MONTH) + 1;
System.out.println(totalMonth);
}
}
public class Main {
public static void main(String[] args) {
String startDate = "2011-03";
String endDate = "2010-07";
//转换为Calendar对象
Calendar startCalendar = Calendar.getInstance();
startCalendar.set(Integer.parseInt(startDate.split("-")[0]), Integer.parseInt(startDate.split("-")[1]), 1);
Calendar endCalendar = Calendar.getInstance();
endCalendar.set(Integer.parseInt(endDate.split("-")[0]), Integer.parseInt(endDate.split("-")[1]), 1);
int totalMonth = 0;
totalMonth += 12 - startCalendar.get(Calendar.MONTH) -1;//开始日期到年底的月份
totalMonth += (endCalendar.get(Calendar.YEAR) - startCalendar.get(Calendar.YEAR) - 1) * 12;//中间相差年数的月份
totalMonth += endCalendar.get(Calendar.MONTH) + 1;
System.out.println(totalMonth);
}
}
- 2楼网友:雪起风沙痕
- 2021-01-20 19:37
SQL server里 怎么像word一样编辑text数据, 2008里好像只能编辑一行text ,新闻的换行怎么办啊
- 3楼网友:一把行者刀
- 2021-01-20 18:10
总月数 = (a的年份-b的年份 )*12 + b的月份 - a的月份
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯