java两个日期之间
㈠ 得到两个日期之间的所有日期java
public static void main(String[] args) throws ParseException {
Calendar startCalendar = Calendar.getInstance();
Calendar endCalendar = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy/M/d");
Date startDate = df.parse("2012/3/1");
startCalendar.setTime(startDate);
Date endDate = df.parse("2012/3/5");
endCalendar.setTime(endDate);
while(true){
startCalendar.add(Calendar.DAY_OF_MONTH, 1);
if(startCalendar.getTimeInMillis() < endCalendar.getTimeInMillis()){//TODO 转数组或是集合,楼主看着写吧
System.out.println(df.format(startCalendar.getTime()));
}else{
break;
}
}
}
㈡ Java如何计算2个日期之间相差多少天
/**
*计算两个日期之间相差的天数
*@paramsmdate较小的时间
*@parambdate较大的时间
*@return相差天数
*@throwsParseException
*/
publicstaticStringdaysBetween(Datesmdate,Datebdate)throwsParseException{
smdate=sdf.parse(sdf.format(smdate));
bdate=sdf.parse(sdf.format(bdate));
Calendarcal=Calendar.getInstance();
cal.setTime(smdate);
longtime1=cal.getTimeInMillis();
cal.setTime(bdate);
longtime2=cal.getTimeInMillis();
longbetween_days=(time2-time1)/(1000*3600*24);
returnString.valueOf(between_days);
}
希望能帮助你。
㈢ JAVA中如何对两个日期时间进行运算
/**
*计算两个日期之间相差的天数
*@paramdate1
*@paramdate2
*@return
*/
publicstaticintdaysBetween(Datedate1,Datedate2)
{
Calendarcal=Calendar.getInstance();
cal.setTime(date1);
longtime1=cal.getTimeInMillis();
cal.setTime(date2);
longtime2=cal.getTimeInMillis();
longbetween_days=(time2-time1)/(1000*3600*24);
returnInteger.parseInt(String.valueOf(between_days));
}
㈣ java 如何实现两个对两个日期之间所有日期的遍历
参考下面代码:
public static void main(String[] args) {
Calendar start = Calendar.getInstance();
start.set(2014, 6, 11);
Long startTIme = start.getTimeInMillis();
Calendar end = Calendar.getInstance();
end.set(2014, 7, 11);
Long endTime = end.getTimeInMillis();
Long oneDay = 1000 * 60 * 60 * 24l;
Long time = startTIme;
while (time <= endTime) {
Date d = new Date(time);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(df.format(d));
time += oneDay;
}
}
㈤ 怎么求java,2个日期之间有多少天。。
用毫秒数计算已经不是正确方法了。原因是夏令时间会造成计算错误。差一小时就是差一天。如果对这方面有疑问,可以补充问题,我再详细解答。
虽然在国内运用没有问题,但是如果用于国际化的金融系统就不行了。
所以建议你在学习阶段就认知,现代标准就是尽量不要使用毫秒数计算日期。
以下是正确方法:
public static long daysBetween(Calendar startDate, Calendar endDate) {
Calendar date = (Calendar) startDate.clone();
long daysBetween = 0;
while (date.before(endDate)) {
date.add(Calendar.DAY_OF_MONTH, 1);
daysBetween++;
}
return daysBetween;
}
㈥ java中知道两个日期如何获得两个日期之间的天数
首先把获取来的字符串日自期转换成Date类型(从前台页面获取的是字符串类型的日期 a,b):
Date a1 = new SimpleDateFormat("yyyy-MM-dd").parse(a);
Date b1 = new SimpleDateFormat("yyyy-MM-dd").parse(b);
//获取相减后天数
long day = (a1.getTime()-b1.getTime())/(24*60*60*1000);
希望可以帮到你。
㈦ java中知道两个日期如何获得两个日期之间的天数
首先把获取的字符串日期转换成Date类型(从前台页面获取的是字符串类型的日期 a,b):
Date a1 = new SimpleDateFormat("yyyy-MM-dd").parse(a);
Date b1 = new SimpleDateFormat("yyyy-MM-dd").parse(b);
//获取相减后天数
long day = (a1.getTime()-b1.getTime())/(24*60*60*1000);
希望可以帮到你。
㈧ java中怎样判断日期处于两个日期中
public static void main(String[] args) {
String d1 = "13:00";
String d2 = "15:00";
String innerTime = "14:00";
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
try {
Date dt1 = formatter.parse(d1);
Date dt2 = formatter.parse(d2);
Date stime = dt1.before(dt2) ? dt1 : dt2;
Date etime = dt1.after(dt2) ? dt1 : dt2;
Date inner = formatter.parse(innerTime);
boolean flag = inner.after(stime) && inner.before(etime);
System.out.println("是否在2个时间之间:" + flag);
} catch (Exception e) {
e.printStackTrace();
}
}
// 如果是日期自己更改format
㈨ java给定两个日期,求两个日期之间的日期段,以月为分隔~!
先得到
1月1日是周几。。。。。多少周然后转成天、整除7,,,,,,和1月1日是周几对比
㈩ java中如何计算出两个日期之间相差多少天
思路就是根据它们相差的毫秒数除以每天的毫秒数(60*60*24*1000),代码如下:
public static void main(String[] args) throws ParseException {
String date1="1987-01-01";
String date2="2010-01-01";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
Date d1=sdf.parse(date1);
Date d2=sdf.parse(date2);
long daysBetween=(d2.getTime()-d1.getTime()+1000000)/(60*60*24*1000);
System.out.println("1987-01-01 与 2010-01-01 相隔 "+daysBetween+" 天");
}
运行结果如下:
(10)java两个日期之间扩展阅读:
Java使用以下三种方法来比较两个日期:
1、使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
2、使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
3、使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。
SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行
例如:
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
这一行代码确立了转换的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。
注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。
以上实例编译运行结果如下:
当前时间为: 2018-09-14 10:16:34
菜鸟教程-Java 日期时间