导航:首页 > 编程语言 > 月份差java

月份差java

发布时间:2022-05-20 01:31:39

java中怎么计算两个日期相差多少个月

给个思路:
int result = 0;
if(year==year1)
{
result=month1-month;//两个日期相差几个月,即月份差
}
else
{
result=12*(year1-year)+month1-month;//两个日期相差几个月,即月份差
}

㈡ java中计算月份差

方法一:直接计算,先取得两个日期的年份和月份,月份差=(第二年份-第一年份)*12 + 第二月份-第一月份

方法二:利用java提供的日期类calendar的方法实现,具体实现查查jdk说明吧

㈢ java 怎么判断两个时间月份差

Datedate1=newDate(2015,5,10);
Datedate2=newDate(2016,7,6);
intmonthDiff=(date2.getYear()-date1.getYear())*12+date2.getMonth()-date1.getMonth();

㈣ 在java中计算月份差

年份差=较大时间的年-较小时间的年
if(较大时间的月>较小时间的月){
月份差=年份差*12+(较大时间的月-较小时间的月)
}else if(较大时间的月<较小时间的月){
月份差=(年份差-1)*12+(12-较小时间的月+较大时间的月)
}else{
月份差=年份差*12
}

㈤ java 计算两个日期相差了几个月

有两种方式,一种先将两个日期转换为long类型的毫秒数(从1970.1.1凌晨到时间点的毫秒数),然后求差diff,相差的月份:1.0*diff/1000/3600/30;还有一种使用jdk提供的Calendar日历类

㈥ 在java中计算月份差

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class test21 {

public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("输入第一个年份");
int yearFirst = Integer.parseInt(br.readLine());
System.out.print("输入第一个月份");
int monthFirst=Integer.parseInt(br.readLine());
System.out.println("输入第二个年份");
int yearSecond = Integer.parseInt(br.readLine());
System.out.print("输入第二个月份");
int monthSecond=Integer.parseInt(br.readLine());

int monthsub = (yearFirst-yearSecond)*12+(monthFirst-monthSecond);
System.out.println("相差的月份"+monthsub);
}
}

㈦ java 中 判断两个日期月份的差,后面没有时分秒.比如2013-07-03与2013-09-03 返回值为2

你可以如此计算,
年份差、月份差算出整数部分
小数部分再按剩余日期、时分秒按其在当月的比例计算
如2012-11-24 14:20:00和2012-5-24 14:20:00
年差为0,月差为6,其他差为0,结果为6.0
若其中出现某差为负数,需调整
如2012-11-24 14:20:00和2012-5-31 14:20:00
年差为0,月差为6,日差为-6,将月差改为5,

即先计算和2012-6-24 14:20:00的差,
2012-6-24 14:20:00到2012-5-31 14:20:00再计算,
可按6月份2012-6-24 14:20:00到2012-6-01 00:00:00 占6月份比例
再计算5月份2012-5-31 24:00:00到2012-5-31 14:20:00占5月份比例
两个比例加起来是小数部分。

㈧ java 求两个日期差几个月

import java.util.Date;
import java.util.Calendar;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.io.PrintStream;

public class DateDiffMonth{
public static void main(String [] argv) throws Exception {
System.out.println(getMonthDiff("1900-10-21", "1901-01-01"));
}
/**
* 得到两日期相差几个月
*
* @param String
* @return
*/
public static long getMonthDiff(String startDate, String endDate) throws ParseException {
long monthday;
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Date startDate1 = fmt.parse(startDate);

Calendar starCal = Calendar.getInstance();
starCal.setTime(startDate1);

int sYear = starCal.get(Calendar.YEAR);
int sMonth = starCal.get(Calendar.MONTH);
int sDay = starCal.get(Calendar.DAY_OF_MONTH);

Date endDate1 = fmt.parse(endDate);
Calendar endCal = Calendar.getInstance();
endCal.setTime(endDate1);
int eYear = endCal.get(Calendar.YEAR);
int eMonth = endCal.get(Calendar.MONTH);
int eDay = endCal.get(Calendar.DAY_OF_MONTH);

monthday = ((eYear - sYear) * 12 + (eMonth - sMonth));

//这里计算零头的情况,根据实际确定是否要加1 还是要减1
if (sDay < eDay) {
monthday = monthday + 1;
}
return monthday;
}
}

天以下,要自己添加判断

㈨ 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计算两个时间相隔月数,考虑闰年

/**
* 判断平闰年方法
*/
public void pingrunnian() {
int year = 0;
//从组件处得到年份(这里是用下拉菜单做的)
if (jtf3.getSelectedIndex() > 0) {
year = (Integer) jtf3.getSelectedItem();
}
int month = 0;
//从组件处得到月份(这里是用下拉菜单做的)

if (jtf4.getSelectedIndex() > 0) {
month = (Integer) jtf4.getSelectedItem();
}
int day = 0;
switch (month) {
//大月
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
//小月
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
case 2:
if ((0 == year % 400) || (0 == year % 4 && 0 != year % 100)) {
day = 29;
} else {
day = 28;
}
break;
}
//下面的是向组件里添加得到的值的。 上面才是关键
//jtf5.removeAllItems();
//jtf5.addItem("DD");
//for (int i = 1; i <= day; i++) {
// jtf5.addItem(i);
}
}

阅读全文

与月份差java相关的资料

热点内容
腾讯云应用服务器可以做什么 浏览:507
二次元表格编程 浏览:20
plc编程器保停 浏览:963
如何降低服务器的内存占用率 浏览:868
阿里云服务器是个什么意思 浏览:817
国内最好的数控编程培训学校 浏览:13
222乘104列是算法 浏览:159
程序员沟通正确姿势 浏览:969
魔玩app怎么视频推广 浏览:960
程序员抽奖送礼 浏览:458
北京java程序员薪资 浏览:658
如何创建网络平台或者app 浏览:355
python随机数生成控制概率 浏览:237
压缩机并联运行 浏览:899
两位单片机 浏览:63
四川音乐类投档线的算法 浏览:650
建行app如何改转账卡 浏览:27
android开发升级 浏览:299
要火社区app进不去怎么办 浏览:826
安卓手机上的自定义功能怎么用 浏览:230