`

DateUtils

 
阅读更多

 

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateUtils{
	/**
	* 
	* @description   String转date,传入的String格式需要是:yyyy-MM-dd HH:mm:ss
	* @param str
	* @return
	* @throws Exception
	*/
	public static Date stringToDate(String str) throws Exception{
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date= format.parse(str);
		System.out.println(date);
		return date;
	}
	 
	 
	/**
	* 
	* @description  date转String,转换后的String格式是:yyyy-MM-dd HH:mm:ss
	* @param date
	* @return
	*/
	public static String dateToString(Date date){
		Calendar calendar = Calendar.getInstance();
		Date time = calendar.getTime();
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
		String strDate = format.format(time);
		System.out.println(strDate);
		return strDate;
	}
	 
	 
	/**
	* 
	* @description  计算两个日期之间相差的天数
	* @param startDate
	* @param endDate
	* @return
	*/
	public static int daysBetweenTowDates(Date startDate,Date endDate){
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(startDate);
		long timeStart = calendar.getTime().getTime();
		calendar.setTime(endDate);
		long timeEnd = calendar.getTime().getTime();
		int days = (int)(timeEnd / 1000 - timeStart / 1000)/3600/24;
		System.out.println(Math.abs(days));
		return Math.abs(days);
	}
	 
	 
	 
	/**
	* 
	* @description  计算两日期之间相差的年数
	* @param startDate
	* @param endDate
	* @return
	*/
	public static int yearsBetweenTowDates(Date startDate, Date endDate){
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(startDate);
		int startYear = calendar.get(Calendar.YEAR);
		calendar.setTime(endDate);
		int endYear = calendar.get(Calendar.YEAR);
		System.out.println(endYear - startYear);
		return endYear - startYear;
	}
	 
	/**
	 * get age by birthday
	 * @description  
	 * @param birthday  you birthday
	 * @param nowDate   today date
	 * @return
	 */
	public static  int calculateAge(Date birthday,Date nowDate) {
		Calendar cal = Calendar.getInstance();
		
		cal.setTime(nowDate);
		int yearNow = cal.get(Calendar.YEAR);
		int monthNow = cal.get(Calendar.MONTH) + 1;
		int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
		
		
		cal.setTime(birthday);
		int yearBirth = cal.get(Calendar.YEAR);
		int monthBirth = cal.get(Calendar.MONTH) + 1;
		int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
		
		if(yearNow == yearBirth && monthNow == monthBirth && dayOfMonthNow == dayOfMonthBirth){ //birthday is today
			return 0;
		}else{
			Calendar birthdayCal = Calendar.getInstance();
			birthdayCal.setTime(birthday);
			if ( cal.before(birthdayCal) ) {
				throw new IllegalArgumentException(
						"The birthDay is before Now.It's unbelievable!");
			}
			int age = yearNow - yearBirth;

			if (monthNow <= monthBirth) {
				if (monthNow == monthBirth) {
					if (dayOfMonthNow < dayOfMonthBirth) {
						age--;
					}
				} else {
					age--;
				}
			}
			return age;
			
		}
		
	}
	 
 
}

 

 

 

分享到:
评论

相关推荐

    java时间处理工具类--DateUtils

    public class DateUtils { /** * 时间范围:年 */ public static final int YEAR = 1; /** * 时间范围:季度 */ public static final int QUARTER = 2; /** * 时间范围:月 */ public static ...

    自己封装的DateUtils工具类

    在Java编程中,DateUtils工具类是一个非常实用的辅助类,它封装了各种日期和时间处理的方法,大大简化了开发者在处理日期时的工作。这里我们深入探讨一下自定义的DateUtils工具类及其重要功能。 首先,`DateUtils`...

    时间工具类 DateUtils

    本篇文章将详细讲解基于提供的"时间工具类 DateUtils"的知识点,包括DateUtils的主要功能、如何使用以及Lunar.java的相关内容。 首先,`DateUtils` 类通常是一个自定义的时间处理类,它扩展了Java内置的`java.util....

    PyPI 官网下载 | dateutils-0.6.11.tar.gz

    `dateutils` 是一个 Python 库,专门用于增强 Python 的日期和时间处理能力,它提供了许多实用的功能,使得开发者能够更高效地处理日期和时间数据。`dateutils-0.6.11.tar.gz` 是这个库的源码压缩包,可以在 PyPI...

    DateUtils.java 日期处理相关工具类

    * 文件名:DateUtils.java 日期处理相关工具类 * 版本信息:V1.0 * 日期:2013-03-11 * Copyright BDVCD Corporation 2013 * 版权所有 http://www.bdvcd.com */ public class DateUtils { /**定义常量**/ ...

    DateUtils(日期工具类)

    DateUtils(日期工具类),包含日期格式化,解析等。

    日期时间处理的命令行工具Dateutils.zip

    Dateutils 包含几个命令行下处理日期时间的工具,特别用于处理大量金融数据。 标签:Dateutils

    DateUtils.java

    `DateUtils.java` 是一个Java编程中的自定义工具类,专门用于处理日期和时间相关的操作。在Java开发中,处理日期和时间是非常常见的需求,例如计算两个日期之间的差距、格式化日期显示、获取当前时间等。`DateUtils`...

    DateUtils.java工具类很实用

    DateUtils.java工具类很实用

    PyPI 官网下载 | dateutils-0.6.9-py2.py3-none-any.whl

    资源来自pypi官网。 资源全名:dateutils-0.6.9-py2.py3-none-any.whl

    时间的帮助类DateUtils.zip

    在Java编程语言中,日期和时间的处理是一个常见的任务,而`DateUtils`类通常是为了简化这类操作而自定义的工具类。这个`DateUtils.zip`压缩包包含了一个名为`Time的帮助类DateUtils.txt`的文件,我们可以从中学习到...

    java时间操作工具类 DateUtils

    java中常用的时间操作;如日期,时间戳,日历,字符串相互转化;时间差等常用日期功能。

    DateUtils_日期工具_

    为了解决这个问题,`DateUtils`类通常被用于封装一些常用的日期操作,避免了重复造轮子。`DateUtils`不是Java标准库的一部分,但许多开源框架如Apache Commons Lang提供了这个工具类,它提供了丰富的日期处理函数,...

    DateUtils日期工具类

    一些日期的处理,获取当前时间、date日期和字符串相互转化等

    Java 中DateUtils日期工具类的实例详解

    Java 中DateUtils日期工具类的实例详解 Java 中DateUtils日期工具类是 Java 语言中对日期类型的操作的重要组件,主要用于处理日期类型和字符串类型之间的转换。在 Java 项目中,日期类型的处理往往非常不方便,特别...

    flex 学习项目中总结的时间处理工具类DateUtils

    `DateUtils`类通常是一个自定义的工具类,用于简化JavaScript或Java等语言中的日期和时间操作。在这个名为"flex 学习项目中总结的时间处理工具类DateUtils"的项目中,我们可能找到了一个针对Flex开发环境优化的日期...

    DateUtils.java——日期处理

    属于时间转换工具类文件,其中包含格式转换,时区转换,时间计算等。

Global site tag (gtag.js) - Google Analytics