`

操作日期工具类

    博客分类:
  • java
 
阅读更多

import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateUtil {

	/**
	 * 
	 * <p>
	 * 简述:获取当天时间  str
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param dateformat "yyyy-MM-dd" "yyyy-MM-dd HH:mm:ss"
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
    public static String getNowTimeStr(String dateformat){  
        Date   now   =   new   Date();     
        //可以方便地修改日期格式
        SimpleDateFormat   dateFormat   =   new   SimpleDateFormat(dateformat);     
        String  hehe  = dateFormat.format(now);     
        return hehe;  
    } 
	/**
	 * 
	 * <p>
	 * 简述:获取当天时间 date
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param dateformat "yyyy-MM-dd" "yyyy-MM-dd HH:mm:ss"
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
    public static Date getNowTimeDate(String dateformat){  
        Date   now   =   new   Date();     
        //可以方便地修改日期格式
        SimpleDateFormat   dateFormat   =   new   SimpleDateFormat(dateformat);     
        String  hehe  = dateFormat.format(now);
        return getStrToDate(hehe, dateformat);
    }
    
	/**
	 * 
	 * <p>
	 * 简述:获取距今天的指定天数
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param index 指定天数 (今天之前的天数是负数,今天之后的是正数)
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static String getDayByIndex(int index) {
		Calendar c = Calendar.getInstance();
		Date date = new Date(System.currentTimeMillis());
		c.setTime(date);
		int day = c.get(Calendar.DATE);
		c.set(Calendar.DATE, day + index);
		String dayAfter = new SimpleDateFormat("yyyy-MM-dd")
				.format(c.getTime());
		return dayAfter;
	}

	/**
	 * 
	 * <p>
	 * 简述:转换日期成字符串
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param date  日期类型
	 * @param format "yyyy-MM-dd" "yyyy-MM-dd HH:mm:ss"
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static String getDateToStr(Date date, String format) {
		return new SimpleDateFormat(format).format(date);
	}
 
分享到:
评论
4 楼 sblig 2011-11-22  

	/** 
	 * <p>
	 * 简述:sql.timestamp 类型转换成util.date
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param time Timestamp
	 * @param fmtString 格式 yyyy-MM-dd HH:mm:ss
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static Date getTimestampToDate(Timestamp time,String fmtString){
		Date date = null;
		String timeString = getTimestampToStr(time,fmtString);
		date = getStrToDate(timeString,fmtString);
		
		return date;
	}
	
	/**
	 * 
	 * <p>
	 * 简述:转换成 sql.timestamp 类型
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param dateStr 日期字符串 2011-06-21 14:31:00
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static Timestamp getStrToTimestamp(String dateStr){
		Timestamp time = null;
		time = java.sql.Timestamp.valueOf(dateStr); 
		return time;
	}
	
	/** 
	 * <p>
	 * 简述:将Timestamp类型转换为字符串
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param time Timestamp
	 * @param format "yyyy-MM-dd" "yyyy-MM-dd HH:mm:ss"
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static String getTimestampToStr(Timestamp time, String format) {
		return new SimpleDateFormat(format).format(time);
	}

3 楼 sblig 2011-11-22  

	/**
	 * 
	 * <p>
	 * 简述:获取当天零点的时间 str 2011-07-05 00:00:00
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param fmtString
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static String getStringZeroDate(String fmtString){
		return getLongToStr(get24HourMill(), fmtString);
	}
	
	/**
	 * 
	 * <p>
	 * 简述:获取当天零点的时间 Date 2011-07-05 00:00:00
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param fmtString
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static Date  getDateZeroDate(String fmtString){
		String dateStr  = getLongToStr(get24HourMill(), fmtString);
		return getStrToDate(dateStr, fmtString);
	}
	
	/**
	 * 
	 * <p>
	 * 简述:获取当天晚上点时间 23:59:59
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param fmtString
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static Date  getDateNightDate(String fmtString){
		String dateStr  = getLongToStr(get24HourMillNight(), fmtString);
		return getStrToDate(dateStr, fmtString);
	}
	
	/**
	 * 
	 * <p>
	 * 简述:获取当天晚上点时间 23:59:59
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param fmtString
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static String getStringNightDate(String fmtString){
		return getLongToStr(get24HourMillNight(), fmtString);
	}
	
	//获取当天零点时间
	private static long get24HourMill(){
	    Calendar   calendar   =   Calendar.getInstance(); 
	    calendar.set(Calendar.HOUR_OF_DAY,   0);   
	    calendar.set(Calendar.MINUTE,   0);   
	    calendar.set(Calendar.SECOND,   0);   
	    calendar.set(Calendar.MILLISECOND,   0);
	    calendar.add(Calendar.DAY_OF_MONTH, 0);
	    long l1 = calendar.getTimeInMillis();
	    return l1;
	}

	//获取当天晚上点时间 23:59:59
	private static long get24HourMillNight(){
	    Calendar   calendar   =   Calendar.getInstance(); 
	    calendar.set(Calendar.HOUR_OF_DAY,   23);   
	    calendar.set(Calendar.MINUTE,   59);   
	    calendar.set(Calendar.SECOND,   59);   
	    calendar.set(Calendar.MILLISECOND,   0);
	    calendar.add(Calendar.DAY_OF_MONTH, 0);
	    long l1 = calendar.getTimeInMillis();
	    return l1;
	}
	
	/**
	 * 
	 * <p>
	 * 简述: util.date 转换成 sql.timestamp 类型
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param date  日期
	 * @param fmtString 格式 yyyy-MM-dd HH:mm:ss
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static Timestamp getDateToTimestamp(Date date,String fmtString){
		Timestamp time = null;
		String dateString = getDateToStr(date, fmtString);
		time = java.sql.Timestamp.valueOf(dateString); 
		
		return time;
	}
2 楼 sblig 2011-11-22  

	/**
	 * 
	 * <p>
	 * 简述:Java Calender类获得指定日期的后一天
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param specifiedDay
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static String getSpecifiedDayAfter(String specifiedDay) {
		Calendar c = Calendar.getInstance();
		Date date = null;
		try {
			date = new SimpleDateFormat("yyyy-MM-dd").parse(specifiedDay);

			c.setTime(date);
			int day = c.get(Calendar.DATE);
			c.set(Calendar.DATE, day + 1);

		} catch (ParseException e) {
			e.printStackTrace();
		}
		String dayAfter = new SimpleDateFormat("yyyy-MM-dd")
				.format(c.getTime());
		return dayAfter;
	}

	/**
	 * 计算时间差
	 * 
	 * @param begin  
	 * @param end  
	 * @param type 1 计算小时差  2 计算 分钟差  3计算秒差
	 * @return
	 */
	public static int countTimeDate(Date begin,Date end,int type){
		int result = 0;
		long total_minute = 0;
		Date begin_date = begin;
		Date end_date = end;

		total_minute = (end_date.getTime() - begin_date.getTime())
				/ (1000 * 60);
		
		if (1 == type) {
			result = (int) total_minute / 60;
		} else if (2 == type) {
			result = (int) (total_minute + total_minute % 60);
		} else {
			result = (int) (((total_minute + total_minute % 60) * 60) + (end_date
					.getTime() - begin_date.getTime()) / 1000 % 60);
		}

		return result;
	}
	/**
	 * 计算时间差
	 * 
	 * @param begin  
	 * @param end  
	 * @param type 1 计算小时差  2 计算 分钟差  3计算秒差
	 * @return
	 */
	public static long countTime(String begin, String end, int type) {
		long result = 0;
		long total_minute = 0;
		StringBuffer sb = new StringBuffer();
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try {
			Date begin_date = df.parse(begin);
			Date end_date = df.parse(end);

			total_minute = (end_date.getTime() - begin_date.getTime())
					/ (1000 * 60);
			if (1 == type) {
				result = (int) total_minute / 60;
			} else if (2 == type) {
				result = (end_date.getTime() - begin_date.getTime())/1000/60;
				
//				result = (int) (total_minute + total_minute % 60);
			} else {
				//毫秒之差/1000
				result = (end_date.getTime() - begin_date.getTime())/1000;
				/*result = (int) (((total_minute + total_minute % 60) * 60) + (end_date
						.getTime() - begin_date.getTime()) / 1000 % 60);*/
			}

		} catch (ParseException e) {
			e.printStackTrace();
		}
		return result;
	}

	/**
	 * 
	 * <p>
	 * 简述:时间点加上一段时间间隔,得到新的时间点
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param start 开始时间点
	 * @param num   时间间隔
	 * @param type  1 时间间隔为小时,2 时间间隔为分钟,3时间间隔为秒,4时间间隔为毫秒
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static Date addNumToDate(Date start, int num, int type) {
		Date end = null;
		try {
			if (1 == type) {
				end = getLongToDate(start.getTime() + num * 60 * 60 * 1000);
			} else if (2 == type) {
				end = getLongToDate(start.getTime() + num * 60 * 1000);
			} else if (3 == type) {
				end = getLongToDate(start.getTime() + num * 1000);
			} else {
				end = getLongToDate(start.getTime() + num);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return end;
	}
1 楼 sblig 2011-11-22  

	/**
	 * 
	 * <p>
	 * 简述:日期型转换成Long型
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param date
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static Long getDateToLong(Date date) {
		return date.getTime();
	}

	/**
	 * 
	 * <p>
	 * 简述:str 转换成 Date
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param dateString  "2011-05-20 14:22:22"
	 * @param fmtString  "yyyy-MM-dd" "yyyy-MM-dd hh:mm:ss"
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static Date getStrToDate(String dateString, String fmtString) {

		SimpleDateFormat sdf = new SimpleDateFormat(fmtString);
		Date date = null;
		try {
			date = sdf.parse(dateString);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return date;
	}

	/**
	 * 
	 * <p>
	 * 简述:long 转换成 Date
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param dateLong
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static Date getLongToDate(Long dateLong) {
		Date date = new Date(dateLong);

		return date;
	}

	/**
	 * 
	 * <p>
	 * 简述: Long 型日期 转换成字符串
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param dateLong
	 * @param fmtString "yyyy-MM-dd" "yyyy-MM-dd HH:mm:ss"
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static String getLongToStr(Long dateLong, String fmtString) {
		return getDateToStr(getLongToDate(dateLong), fmtString);
	}

	/**
	 * 
	 * <p>
	 * 简述:Java Calender类获得指定日期的前一天
	 * </p>
	 * <p>
	 * 描述:
	 * </p>
	 * @param specifiedDay
	 * @return
	 * @see [类、类#方法、类#成员]
	 */
	public static String getSpecifiedDayBefore(String specifiedDay) {
		//SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
		Calendar c = Calendar.getInstance();
		Date date = null;
		try {
			date = new SimpleDateFormat("yyyy-MM-dd").parse(specifiedDay);

			c.setTime(date);
			int day = c.get(Calendar.DATE);
			c.set(Calendar.DATE, day - 1);

		} catch (ParseException e) {
			e.printStackTrace();
		}
		String dayBefore = new SimpleDateFormat("yyyy-MM-dd").format(c
				.getTime());
		return dayBefore;
	}

相关推荐

    javascript 日期工具类

    导入js文件 用法 var newDate=DateUtil.Format("yyyy/MM/dd",new Date()); 第一个参数可以根据需要改

    Java 日期比较工具类

    Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )

    Date日期操作工具类

    本主题聚焦于一个名为"Date日期操作工具类"的实用工具,它提供了丰富的功能,包括日期格式化、字符串与日期之间的转换、日期的加减操作以及计算日期间隔等。 首先,让我们深入理解`java.util.Date`类。Date类代表了...

    java 日期操作工具类

    全面的日期开发工具类,对日期进行各种转换,应用于大部分项目的开发需求。

    java操作日期时间工具类

    本篇将重点介绍Java操作日期时间的工具类,特别是通过`DateUtil.java`这个自定义工具类的实现方式。 `java.util.Date`是Java早期用来表示日期和时间的基础类,它包含了日期和时间的信息,但没有区分日期和时间。...

    日期处理工具类

    在Java编程语言中,日期处理是一项常见的任务,用于管理和操作日期和时间。为了方便开发者,Java提供了多种工具类来处理日期。"日期处理工具类"通常是指一个自定义的类,它封装了一些常用的方法,例如日期格式化、...

    日期操作工具类

    日期操作工具类 /** * 将日期对象按照换为时间字符串 * 默认格式为"yyyy-MM-dd HH:mm:ss" * @param sourceTime * @return * @throws ParseException */ public static String formatDate(Date ...

    java日期类型操作工具类

    java日期类型操作工具类

    日期转换工具类

    ### 日期转换工具类 #### 知识点概述 本文将详细介绍一个名为`DateTimeUtil`的Java工具类,该类提供了日期格式化和解析的功能。此类利用了`org.joda.time`包中的`DateTime`和`DateTimeFormat`类来实现字符串与日期...

    日期工具类

    日期工具类, 继承org.apache.commons.lang.time.DateUtils类。可以便捷的进行各种日期操作

    日期工具类,包括各种日期之间的转换

    根据提供的文件信息,本文将对日期工具类进行深入解析,并详细介绍其包含的主要功能与实现方法。此工具类主要涉及到了日期格式化、日期解析、获取当前时间等实用操作。 ### 一、概述 该日期工具类名为 `DateUtil`...

    java操作工具类

    这些工具类通常包含了对字符串、数组、集合、日期时间等基本数据类型的操作,以及文件I/O、网络通信、线程控制等更复杂功能的辅助方法。下面将详细介绍`opslabJutil-master`这个工具类库可能包含的一些核心知识点。 ...

    操作日期时间的工具类,封装的比较完善

    java写的,操作日期时间的工具类,封装的比较完善,可以获取最小时间, 获取最大时间,获取今天最小时间,获取今天最大时间,获取明天的最小时间,获取明天的最大时间,获取昨天的最小时间,获取昨天的最大时间,...

    vue 字符和日期转换工具类

    vue 字符和日期转换工具类,先将util里面的公共对象抛出,全局使用

    Java日期常用操作方法工具类

    本文将重点讲解Java日期的常用操作方法,主要基于提供的`JavaDateUtil.java`文件,假设这是一个自定义的日期工具类。 首先,我们来了解`java.util.Date`。这个类在早期的Java版本中被广泛使用,但它的API设计并不...

    java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒

    这篇博客文章“java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒”提供了一个实用的工具类,帮助开发者更方便地处理日期和时间差异。下面将详细解释这个工具类中的关键知识点。 1. **Java...

    java日期工具类

    本文将深入探讨`java.util.Date`和`java.time`包中的日期工具类。 首先,`java.util.Date`是Java 1.0时代就存在的类,它代表了从1970年1月1日00:00:00 UTC(协调世界时)起的毫秒数。尽管`Date`类提供了获取和设置...

    Java开发工具类

    - QrcodeUtils.java\防止SQL注入和XSS攻击Filter\获取文件绝对路径最后的文件夹名称\加密工具类 - CryptoUtils.java\日期工具类 - DateUtil.java\图片处理工具类 - ImageUtils.java\文件相关操作工具类——FileUtils...

Global site tag (gtag.js) - Google Analytics