java怎样得到两个时间段的月份?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎样得到两个时间段的月份?相关的知识,希望对你有一定的参考价值。

参考技术A import java.util.Calendar;
import java.util.GregorianCalendar;
public class Test
public static void main(String[] args)
Calendar c_begin = new GregorianCalendar();
Calendar c_end = new GregorianCalendar();
c_begin.set(2012, 5, 30);
c_end.set(2012, 11, 5);
while (c_begin.before(c_end))
int m = c_begin.get(Calendar.MONTH) + 1;
System.out.println(m);
c_begin.add(Calendar.MONTH, 1);


本回答被提问者采纳
参考技术B import java.util.Calendar;
import java.util.GregorianCalendar;
public class Test
public static void main(String[] args)
Calendar c_begin = new GregorianCalendar();
Calendar c_end = new GregorianCalendar();
c_begin.set(2012, 5, 30);
c_end.set(2012, 11, 5);
while (c_begin.before(c_end))
int m = c_begin.get(Calendar.MONTH) + 1;
System.out.println(m);
c_begin.add(Calendar.MONTH, 1);


参考技术C 是两个时间点间的有几个月?!
jdk8:ChronoUnit.MONTHS.between(Temporal temporal1Inclusive,
Temporal temporal2Exclusive)

jdk8之前使用joda-time的Months类
参考技术D 问题描述太简单了,没看懂什么意思追问

就是 2012年 6月 30 日 和2012年12月5日 分别取得这两个时间的月 怎么取

开始日期加上月份得到终止日期 用js怎样计算?还要判断是不是为闰年?

参考技术A /**
* 字符串传Date
* @param
* string 如:"2009-06-22 09:41:30"
* @return 如:Mon Jun 22 09:41:30 UTC+0800 2009
*/
function StringToDate(string)
return new Date(Date.parse(string.replace(/-/g, "/")));


/**
* 计算两日期时间差
* @param interval 计算类型:D是按照天、H是按照小时、M是按照分钟、S是按照秒、T是按照毫秒
* @param date1 起始日期
* @param date2 结束日期
* @return
*/
function countTimeLength(interval, date1, date2)

var objInterval = 'D' : 1000 * 60 * 60 * 24, 'H' : 1000 * 60 * 60, 'M' : 1000 * 60, 'S' : 1000, 'T' : 1;
interval = interval.toUpperCase();
var dt1 = Date.parse(StringToDate(date1));
var dt2 = Date.parse(StringToDate(date2));
try

return ((dt2 - dt1) / ('(objInterval.' + interval + ')')).toFixed(2);//保留两位小数点

catch (e)

return e.message;

本回答被提问者采纳

以上是关于java怎样得到两个时间段的月份?的主要内容,如果未能解决你的问题,请参考以下文章

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

开始日期加上月份得到终止日期 用js怎样计算?还要判断是不是为闰年?

java 求两个日期差几个月

java月份相减

java年月相减得出哪几个月份

java得到上个月的月份及天数