网站首页 > 文章中心 > 其它

java代码日期比较到天_java比较日期实验代码

作者:小编 更新时间:2023-08-10 12:10:03 浏览量:465人看过

java如何判断两个日期字符串相差多少天?

用java编写,两个日期之间相差的天数,求具体解法

DateFormat?df?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss");

try

java代码日期比较到天_java比较日期实验代码-图1

{

System.out.println(""+days+"天"+hours+"小时"+minutes+"分");

}

catch?(Exception?e)

java中计算两个日期之间差的天数

在Java开发物流或是其他功能的时候会用到两个日期相差多天的数据,所以整理了一下备用.

调用方式:

代码如下 复制代码

System.out.println(day);

java代码日期比较到天_java比较日期实验代码-图2

具体实现方法调用:

/**

* 计算出两个日期之间相差的天数

* @param date1 日期1

*/

// Canlendar 该类是一个抽象类

// 提供了丰富的日历字段

// 本程序中使用到了

// Calendar.YEAR 日期中的年份

// Calendar.DAY_OF_YEAR 当前年中的天数

Calendar calendar1 = Calendar.getInstance(); // 获得一个日历

calendar1.setTimeInMillis(date1); // 用给定的 long 值设置此 Calendar 的当前时间值.

// 先判断是否同年

int y1 = calendar1.get(Calendar.YEAR);

int d1 = calendar1.get(Calendar.DAY_OF_YEAR);

int maxDays = 0;

int day = 0;

}else{

return day;

* 日期间隔计算

* 计算公式(示例):

* @param d1 表示在这年中过了多少天

* @param calendar 根据日历对象来获取一年中有多少天

* @return 计算后日期间隔的天数

System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_YEAR));

day += 1;

for (int i = 0; i betweenYears; i++) {

// 当年 + 1 设置下一年中有多少天

calendar.set(Calendar.YEAR, (calendar.get(Calendar.YEAR)) + 1);

maxDays = calendar.getActualMaximum(Calendar.DAY_OF_YEAR);

day += maxDays;

day -= 1;

* 将日期字符串装换成日期

* @param strDate 日期支持年月日 示例:yyyyMMdd

public static long getDateTime(String strDate) {

return getDateByFormat(strDate, "yyyyMMdd").getTime();

* @param strDate 日期字符串

* @param format 日期格式

* @return Date

public static Date getDateByFormat(String strDate, String format) {

SimpleDateFormat sdf = new SimpleDateFormat(format);

try{

return (sdf.parse(strDate));

}catch (Exception e){

return null;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

* @param args

* @throws ParseException

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

// TODO Auto-generated method stub

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

* 计算两个日期之间相差的天数

* @param smdate 较小的时间

* @param bdate 较大的时间

* @return 相差天数

public static int daysBetween(Date smdate,Date bdate) throws ParseException

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

smdate=sdf.parse(sdf.format(smdate));

bdate=sdf.parse(sdf.format(bdate));

Calendar cal = Calendar.getInstance();

cal.setTime(smdate);

long time1 = cal.getTimeInMillis();

cal.setTime(bdate);

return Integer.parseInt(String.valueOf(between_days));

*字符串的日期格式的计算

public static int daysBetween(String smdate,String bdate) throws ParseException{

cal.setTime(sdf.parse(smdate));

cal.setTime(sdf.parse(bdate));

//取得剩余天数

java代码日期比较到天_java比较日期实验代码-图3

SimpleDateFormat df=new SimpleDateFormat("yyyymmdd");

Date d0=new java.util.Date();

Date d1=df.parse(end_date);

long time0=d0.getTime();

long time1=d1.getTime();

这样算两个时间相差的天数比较好

*

* @param date1

* @return

int result = 0;

ElapsedTime et = new ElapsedTime();

GregorianCalendar gc1 = new GregorianCalendar();

gc1.setTime(date1);

return result;

然后ElapseTime中的方法是:

int elapsed = 0;

gc1 = (GregorianCalendar) g1.clone();

} else {

gc1.clear(Calendar.MILLISECOND);

gc1.clear(Calendar.SECOND);

gc1.clear(Calendar.MINUTE);

gc1.clear(Calendar.HOUR_OF_DAY);

gc1.add(Calendar.DATE, 1);

elapsed++;

return elapsed;

其实使用joda最简单

public boolean isRentalOverdue(DateTime datetimeRented) {

return datetimeRented.plus(rentalPeriod).isBeforeNow()

Java比较两个时间相差多少天,多少个月,多少年

java比较两个时间相差,可以使用calender类的api,实例如下:

package com.test;

import java.text.DateFormat;

* @description 日期比较天 月 年

* @author

public class DateTest {

public static void main(String[] args) {

DateTest.compareDate(date, null, 0);

DateTest.compareDate(date, null, 1);

* @param date1 需要比较的时间 不能为空(null),需要正确的日期格式

int n = 0;

String[] u = {"天","月","年"};

String formatStyle = stype==1?"yyyy-MM":"yyyy-MM-dd";

DateFormat df = new SimpleDateFormat(formatStyle);

Calendar c1 = Calendar.getInstance();

try {

c1.setTime(df.parse(date1));

System.out.println("wrong occured");

//List list = new ArrayList();

//list.add(df.format(c1.getTime())); // 这里可以把间隔的日期存到数组中 打印出来

n++;

if(stype==1){

c1.add(Calendar.MONTH, 1); // 比较月份,月份+1

else{

c1.add(Calendar.DATE, 1); // 比较天数,日期+1

n = n-1;

return n;

* 得到当前日期

public static String getCurrentDate() {

Calendar c = Calendar.getInstance();

Date date = c.getTime();

SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd");

return simple.format(date);

运行结果:

可以参考上面的程序,如果还有什么不明白的,可以自己去ITjob网上看看,有介绍Java这方面的知识.

java中如何计算出两个日期之间相差多少天

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

Date d1=sdf.parse(date1);

运行结果如下:

扩展资料:

Java使用以下三种方法来比较两个日期:

SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类.SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行

例如:

SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");

这一行代码确立了转换的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒.

以上实例编译运行结果如下:

参考资料:

Java官方API接口-Date

菜鸟教程-Java 日期时间

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章