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怎么算出某一个月到某一个月的具体天数的主要内容,如果未能解决你的问题,请参考以下文章