`
zysnba
  • 浏览: 185933 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java DateUtil时间大全

 
阅读更多

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;
 
/**
* author zys
*/
public class DateUtil{
     
    /**定义常量**/
    public static final String DATE_JFP_STR="yyyyMM";
    public static final String DATE_FULL_STR = "yyyy-MM-dd HH:mm:ss";
    public static final String DATE_SMALL_STR = "yyyy-MM-dd";
    public static final String DATE_KEY_STR = "yyyyMMddHHmmss";
    public static SimpleDateFormat sdf = new SimpleDateFormat(DATE_FULL_STR);
   
    //获取年月日时
    public static String getyyyyMMddHHmmss(){
    SimpleDateFormat df = new SimpleDateFormat(DATE_KEY_STR);
      return df.format(new Date());
    }
    /**
     * 获取当天的开始时间
     * @return
     */
    private static Date getTodayStartTime() { 
        Calendar todayStart = Calendar.getInstance(); 
        todayStart.set(Calendar.HOUR, 0); 
        todayStart.set(Calendar.MINUTE, 0); 
        todayStart.set(Calendar.SECOND, 0); 
        todayStart.set(Calendar.MILLISECOND, 0); 
        return todayStart.getTime(); 
    } 
    /**
     * 获取当天的结束时间
     * @return
     */
    private static Date getTodayEndTime() { 
        Calendar todayEnd = Calendar.getInstance(); 
        todayEnd.set(Calendar.HOUR, 23); 
        todayEnd.set(Calendar.MINUTE, 59); 
        todayEnd.set(Calendar.SECOND, 59); 
        todayEnd.set(Calendar.MILLISECOND, 999); 
        return todayEnd.getTime(); 
    } 
    /**
     * yyyy-MM-dd HH:mm:ss
     * 使用预设格式提取字符串日期
     * @param strDate 日期字符串
     * @return
     */
    public static Date parse(String strDate) {
        return parse(strDate,DATE_FULL_STR);
    }
     
    /**
     * 使用用户格式提取字符串日期
     * @param strDate 日期字符串
     * @param pattern 日期格式
     * @return
     */
    public static Date parse(String strDate, String pattern) {
    if(pattern==null||pattern.equals("")){
    pattern =DATE_FULL_STR;
    }
        SimpleDateFormat df = new SimpleDateFormat(pattern);
        try {
            return df.parse(strDate);
        } catch (ParseException e) {
            e.printStackTrace();
            return null;
        }
    }
    /**
* 获得几个月后的日期
*
* @param date 日期
* @param afterMonth 月数
* @return 日期Date
*/
public static Date getAfterMonth(Date date, int afterMonth) {
if (date == null)
date = new Date();

GregorianCalendar cal = new GregorianCalendar();
cal.setTime(date);

cal.add(java.util.Calendar.MONTH, afterMonth);
return cal.getTime();
}

    /**
     * 取得指定日期几天前的日期
     *
     * @param date 日期
     * @param beforeDays 天数(大于0)
     * @return 日期
     */
    public static Date getBeforeDay(Date date, int beforeDays) {
        if (date == null)
            date = new Date();
        GregorianCalendar cal = new GregorianCalendar();
        cal.setTime(date);
        cal.add(java.util.Calendar.DATE, 0 - Math.abs(beforeDays));
        return cal.getTime();
    }
    /**
* 取得指定日期几天后的日期
*
* @param date 日期
* @param afterDays 天数
* @return 日期
*/
public static Date getAfterDay(Date date, int afterDays) {
if (date == null)
date = new Date();

GregorianCalendar cal = new GregorianCalendar();
cal.setTime(date);
cal.add(java.util.Calendar.DATE, afterDays);
return cal.getTime();
}
    /**
* 取得n分钟后的时间
*
* @param date 日期
* @param afterMins
* @return 时间Timestamp
*/
public static Date getAfterMinute(Date date, long afterMins) {
if (date == null)
date = new Date();

long longTime = date.getTime() + afterMins * 60 * 1000;

return new Date(longTime);
}
  /**
* 取得n分钟之前的时间
*
* @param date 日期
* @param afterMins
* @return 时间Timestamp
*/
public static Date getBeforeMinute(Date date, long afterMins) {
if (date == null)
date = new Date();

long longTime = date.getTime() - afterMins * 60 * 1000;

return new Date(longTime);
}
    /**
     * 两个时间比较
     * @param date
     * @return
     */
    public static int compareDateWithNow(Date date1){
        Date date2 = new Date();
        int rnum =date1.compareTo(date2);
        return rnum;
    }
     
    /**
     * 两个时间比较(时间戳比较)
     * @param date
     * @return
     */
    public static int compareDateWithNow(long date1){
        long date2 = dateToUnixTimestamp();
        if(date1>date2){
            return 1;
        }else if(date1<date2){
            return -1;
        }else{
            return 0;
        }
    }
    /**
     * 获取系统当前时间+生成5位随机数
     * @return
     */
    public static String getCurrentTime() {
        SimpleDateFormat df = new SimpleDateFormat(DATE_KEY_STR);
//        return df.format(new Date())+(int)((Math.random()*9+1)*10000);
        return df.format(new Date());
    }
    /**
     * 获取系统当前时间
     * @return
     */
    public static String getNowTime() {
        SimpleDateFormat df = new SimpleDateFormat(DATE_FULL_STR);
        return df.format(new Date());
    }
    /**
     * 获取系统当前时间date类型
     * @return
     */
    public static Date getNowTimeDate() {
        SimpleDateFormat df = new SimpleDateFormat(DATE_FULL_STR);
        try {
return df.parse(df.format(new Date()));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
        return null;
    }
    /**
     * 根据自己格式获取系统当前时间
     * @return
     */
    public static String getNowTime(String type) {
        SimpleDateFormat df = new SimpleDateFormat(type);
        return df.format(new Date());
    }
    /**
* 将Date类型转换为字符串 yyyy-MM-dd HH:mm:ss
*
* @param Date
* @return String
*/
public static String formatDate(Date date) {
if (date == null) {
return "";
}
return sdf.format(date);
}
    /**
     * 获取系统当前计费期
     * @return
     */
    public static String getJFPTime() {
        SimpleDateFormat df = new SimpleDateFormat(DATE_JFP_STR);
        return df.format(new Date());
    }
     
    /**
     * 将指定的日期转换成Unix时间戳
     * @param String date 需要转换的日期 yyyy-MM-dd HH:mm:ss
     * @return long 时间戳
     */
    public static long dateToUnixTimestamp(String date) {
        long timestamp = 0;
        try {
            timestamp = new SimpleDateFormat(DATE_FULL_STR).parse(date).getTime();
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return timestamp;
    }
     
    /**
     * 将指定的日期转换成Unix时间戳
     * @param String date 需要转换的日期 yyyy-MM-dd
     * @return long 时间戳
     */
    public static long dateToUnixTimestamp(String date, String dateFormat) {
        long timestamp = 0;
        try {
            timestamp = new SimpleDateFormat(dateFormat).parse(date).getTime();
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return timestamp;
    }
     
    /**
     * 将当前日期转换成Unix时间戳
     * @return long 时间戳
     */
    public static long dateToUnixTimestamp() {
        long timestamp = new Date().getTime();
        return timestamp;
    }
     
     
    /**
     * 将Unix时间戳转换成日期
     * @param long timestamp 时间戳
     * @return String 日期字符串
     */
    public static String unixTimestampToDate(long timestamp) {
        SimpleDateFormat sd = new SimpleDateFormat(DATE_FULL_STR);
        sd.setTimeZone(TimeZone.getTimeZone("GMT+8"));
        return sd.format(new Date(timestamp));
    }
   
   
    /**
     * 给时间加上几个小时
     * @param day 当前时间 格式:yyyy-MM-dd HH:mm:ss
     * @param hour 需要加的时间
     * @return
     */
    public static String addDateMinut(String day, int hour){  
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = null;  
        try {  
            date = format.parse(day);  
        } catch (Exception ex) {  
            ex.printStackTrace();  
        }  
        if (date == null)  
            return "";  
        System.out.println("front:" + format.format(date)); //显示输入的日期 
        Calendar cal = Calendar.getInstance();  
        cal.setTime(date);  
        cal.add(Calendar.HOUR, hour);// 24小时制 
        date = cal.getTime();  
        System.out.println("after:" + format.format(date));  //显示更新后的日期
        cal = null;  
        return format.format(date);  

    }
}
分享到:
评论

相关推荐

    Java DateUtil.java日期时间操作类源代码.rar

    Java DateUtil.java日期时间操作类源代码,DateUtil类包含了标准的时间和日期格式,以及这些格式在字符串及日期之间转换的方法。比如日期格式转换成时间戳、得到格式化后的系统当前日期、转化日期格式"MM/dd/YY、MM....

    Java DateUtil时间工具类

    Java中的DateUtil时间工具类是开发者在处理日期和时间时常用的一个自定义工具类。它通常包含了一系列静态方法,用于简化Java内置的日期和时间API的使用,提高代码的可读性和可维护性。在实际开发中,由于Java 8之前...

    DateUtil.java 时间日期处理工具类

    包含"yyyy-MM-dd"、"yyyy-MM-dd HH:mm:ss"、"yyyyMMdd"、"yyyyMMddHHmmss"、"yyyy-MM"、"yyyyMM"等时间格式的转换。 其中: 1.String转Timestamp stringToTimestamp(String dateStr); 2.比较传入时间与当前时间前一...

    DateUtil.java时间类

    时间类的年月日小时、分、秒,随你选择,一 个摘抄的可以自由改动的时间类

    java DateUtil工具类时间戳类型转换详解

    Java DateUtil 工具类时间戳类型转换详解 Java DateUtil 工具类是 Java 开发中经常使用的一种日期处理工具类,它提供了多种日期处理方法,包括时间戳类型转换、日期格式化、日期解析等。下面我们将详细介绍 Java ...

    Java - DateUtil 日期时间转换工具类

    资源名称:DateUtil 日期时间转换工具类 内容概要:日期时间转换工具类,包括基本的Date类型,String类型,TimeStamp类型,LocalDateTime类型,LocalDate类型之间的互相转换,还提供了许多与时间获取,时间计算有关...

    java 时间工具类 DateUtil

    这是一个功能很强大的时间的工具类,是本人在做项目中,积累的,当然也有cope别人的.我是集成了所有好用的类,拿出来分享,希望能帮助大家!!!! 如果还没有实现的功能,请大家留言!我会尽快的更新,实现你们想要的功能.

    DateUtil(日期工具类)

    在Java编程语言中,`DateUtil`通常是一个自定义的工具类,用于处理与日期和时间相关的操作。这个工具类可以极大地简化日期处理任务,提供比Java内置的`java.util.Date`和`java.time`包更友好的API。在本文中,我们将...

    时间格式转换类DateUtil.java

    时间格式转换类DateUtil.java

    强大的DateUtil

    包含日期偏移、生日计算、某个时间年月、是否是今天、计算第几周、时间差、比较大小以及间隔等常用业务时间计算方法、

    日期 dateutil Java 日期工具类

    快速日期格式化类 ,线程安全的 包括:获取 DateUtil.STYLE格式的日期 字符转日期 日期转字符 字符日期从src_format改为dest_format 返回当前系统日期时间等

    DateUtil.java 获取剩余时间 剩余 1时33分31秒

    获取剩余时间,根据创建时间、间隔小时值,生成剩余时间值 ,亲测好用!!!!!!!!!! 剩余1时33分31秒

    DateUtil.java

    在Java编程语言中,日期和时间的处理是常见的任务,特别是在日常开发中。`DateUtil.java` 和 `DateFormat.java` 文件可能包含了解决这一问题的关键工具。`DateUtil` 类通常是一个自定义的工具类,封装了对Java内置`...

    时间日期工具类(包含java8新特性).zip

    在这个"时间日期工具类(包含java8新特性).zip"压缩包中,我们有两个文件:DateUtil.java和DateUtils.java,它们很可能是自定义的工具类,用来扩展Java的标准日期处理功能。 首先,我们来看Java 8引入的新特性。在...

    DateUtil.Java 日期时间操作函数库代码.rar

    一个Java 日期时间操作函数集 DateUtil.java代码,用于时间和日期操作的工具类,DateUtil类包含了标准的时间和日期格式,以及这些格式在字符串及日期之间转换的方法,格式化后的系统当前时间,如果有异常产生,返回...

    DateUtil获取时间工具类

    使用预设格式将字符串转为Date,使用参数Format将字符串转为Date,字符串转换成日期 如果转换格式为空,则利用默认格式进行转换操作,日期转换为字符串

    Android-Java中的日期转化格式DateUtil工具类

    在Android开发中,处理日期和时间是一项常见的任务。Java提供了多种方式来操作日期,但有时为了提高代码的可读性和可维护性,我们会创建一个工具类来封装这些操作。这里我们关注的是`DateUtil`工具类,它专门用于...

    升级版DateUtil.java(得到几天后的date,根据农历生日计算出年龄)

    升级版DateUtil.java 得到几天后的date,根据农历生日计算出年龄,判断当前时间是否在[startTime, endTime]区间,注意时间格式要一致

    DateUtil工具包

    `DateUtil`工具包是Java中用于处理日期和时间的实用类之一。它提供了多种方法来帮助开发者进行日期与时间的获取、转换以及设置等操作。此类封装了常用的日期格式化字符串,并提供了一些静态方法来简化日期时间的操作...

Global site tag (gtag.js) - Google Analytics