java怎么算出某一个月到某一个月的具体天数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎么算出某一个月到某一个月的具体天数相关的知识,希望对你有一定的参考价值。

比如说 2003-03-12到2005-01-12

package testString;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

public class aaaa 


public static void main(String[] args) throws ParseException 

String date1="2003-03-12";

String date2="2005-01-12";

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");

long l_date1=sdf.parse(date1).getTime();

long l_date2=sdf.parse(date2).getTime();

int day=(int)((l_date2-l_date1)/(1000*60*60*24));

System.out.println(day);

参考技术A 1970年1月1号到2003-03-12 是多少毫秒。
同理2005-01-12的毫秒。

然后减一下。
然后除一下一天多少毫秒数剩下的就是天数了。

import java.util.Calendar;
public class TimeDemo
public static void main(String args[])
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.set(2003, 3, 12);
cal2.set(2005, 1,12);
long day = (cal2.getTimeInMillis()-cal1.getTimeInMillis())/(24*60*60*1000);//转换为天
System.out.println("一共过了"+day+"天");

参考技术B 这个俺这刚好有,提供给你参考:

/**
* 用于比较并得到两个日期之间相差的天数,date1>date2返回正数
*
* @param date1
* 日期1
* @param date2
* 日期2
* @return
*/
public static long getDayGapBetweenTwoDate(String date1, String date2)
long ret = 0;
if (!date1.contains("-") || !date2.contains("-"))
ret = 0;
else
// 日期1
Calendar cal1 = Calendar.getInstance();
cal1.setTime(switchStringToDate(date1));
// 日期2
Calendar cal2 = Calendar.getInstance();
cal2.setTime(switchStringToDate(date2));
ret = cal1.getTimeInMillis() / (1000 * 60 * 60 * 24)
- cal2.getTimeInMillis() / (1000 * 60 * 60 * 24);

return ret;


// 将一个日期字符串转化成日期
public static Date switchStringToDate(String sDate)
Date date = null;
try
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
date = df.parse(sDate);
catch (Exception e)
System.out.println("日期转换失败:" + e.getMessage());

return date;

java中定义一个字符串类型的日期 算出这个月的第一天和下个月的第一天。

参考技术A public void test(String date)

String[] dates=date.split("-");
int year=Integer.parseInt(dates[0]);
int month=Integer.parseInt(dates[1]);
System.out.println("本月第一天为:"+year+"-"+(month<10?("0"+month):(month))+"-"+"01");
month++;
if(month>12)

year++;
month=1;

System.out.println("下月第一天为:"+year+"-"+(month<10?("0"+month):(month))+"-"+"01");
本回答被提问者采纳
参考技术B 这个月的第一天和下个月第一天干嘛?计算式几月几号还是其他?
如果是几月几号这个就太简单了

以上是关于java怎么算出某一个月到某一个月的具体天数的主要内容,如果未能解决你的问题,请参考以下文章

判断某一年的某个月的天数

判断某一年的某个月的天数

在EXCEL中,今天到下个月今天的天数怎么计算,求教了

java怎么把一个时间段用周和月来统计数据

sql如何按日期中的月份查询

java中定义一个字符串类型的日期 算出这个月的第一天和下个月的第一天。