package com..util;



import java.sql.Timestamp;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;



public class DataUtil {



    /**

     * 功能: 将日期对象按照某种格式进行转换,返回转换后的字符串

     * 

     * @param date 日期对象

     * @param pattern 转换格式 例:yyyy-MM-dd

     */

    public static String DateToString(Date date, String pattern) {

        String strDateTime = null;

        SimpleDateFormat formater = new SimpleDateFormat(pattern);

        strDateTime = date == null ? null : formater.format(date);

        return strDateTime;

    }



    /**

     * 功能: 将传入的日期对象按照yyyy-MM-dd格式转换成字符串返回

     * 

     * @param date 日期对象

     * @return String

     */

    public static String DateToString(Date date) {

        String _pattern = "yyyy-MM-dd";

        return date == null ? null : DateToString(date, _pattern);

    }



    /**

     * 功能: 将传入的日期对象按照yyyy-MM-dd HH:mm:ss格式转换成字符串返回

     * 

     * @param date 日期对象

     * @return String

     */

    public static String DateTimeToString(Date date) {

        String _pattern = "yyyy-MM-dd HH:mm:ss";

        return date == null ? null : DateToString(date, _pattern);

    }



    /**

     * 功能: 将插入的字符串按格式转换成对应的日期对象

     * 

     * @param str 字符串

     * @param pattern 格式

     * @return Date

     */

    public static Date StringToDate(String str, String pattern) {

        Date dateTime = null;

        try {

            if (str != null && !str.equals("")) {

                SimpleDateFormat formater = new SimpleDateFormat(pattern);

                dateTime = formater.parse(str);

            }

        } catch (Exception ex) {

        }

        return dateTime;

    }



    /**

     * 功能: 将传入的字符串按yyyy-MM-dd格式转换成对应的日期对象

     * 

     * @param str 需要转换的字符串

     * @return Date 返回值

     */

    public static Date StringToDate(String str) {

        String _pattern = "yyyy-MM-dd";

        return StringToDate(str, _pattern);

    }



    /**

     * 功能: 将传入的字符串按yyyy-MM-dd HH:mm:ss格式转换成对应的日期对象

     * 

     * @param str 需要转换的字符串

     * @return Date

     */

    public static Date StringToDateTime(String str) {

        String _pattern = "yyyy-MM-dd HH:mm:ss";

        return StringToDate(str, _pattern);

    }



    /**

     * 功能: 将传入的字符串转换成对应的Timestamp对象

     * 

     * @param str 待转换的字符串

     * @return Timestamp 转换之后的对象

     * @throws Exception

     *             Timestamp

     */

    public static Timestamp StringToDateHMS(String str) throws Exception {

        Timestamp time = null;

        time = Timestamp.valueOf(str);

        return time;

    }



    /**

     * 功能: 根据传入的年月日返回相应的日期对象

     * 

     * @param year 年份

     * @param month 月份

     * @param day 天

     * @return Date 日期对象

     */

    public static Date YmdToDate(int year, int month, int day) {

        Calendar calendar = Calendar.getInstance();

        calendar.set(year, month, day);

        return calendar.getTime();

    }



    /**

     * 功能: 将日期对象按照MM/dd HH:mm:ss的格式进行转换,返回转换后的字符串

     * 

     * @param date 日期对象

     * @return String 返回值

     */

    public static String communityDateToString(Date date) {

        SimpleDateFormat formater = new SimpleDateFormat("MM/dd HH:mm:ss");

        String strDateTime = date == null ? null : formater.format(date);

        return strDateTime;

    }



    public static Date getMaxDateOfDay(Date date) {

        if (date == null) {

            return null;

        } else {

            Calendar calendar = Calendar.getInstance();

            calendar.setTime(date);

            calendar.set(11, calendar.getActualMaximum(11));

            calendar.set(12, calendar.getActualMaximum(12));

            calendar.set(13, calendar.getActualMaximum(13));

            calendar.set(14, calendar.getActualMaximum(14));

            return calendar.getTime();

        }

    }



    public static Date getMinDateOfDay(Date date) {

        if (date == null) {

            return null;

        } else {

            Calendar calendar = Calendar.getInstance();

            calendar.setTime(date);

            calendar.set(11, calendar.getActualMinimum(11));

            calendar.set(12, calendar.getActualMinimum(12));

            calendar.set(13, calendar.getActualMinimum(13));

            calendar.set(14, calendar.getActualMinimum(14));

            return calendar.getTime();

        }

    }



    /**

     * 功能:返回传入日期对象(date)之后afterDays天数的日期对象

     * 

     * @param date 日期对象

     * @param afterDays 往后天数

     * @return java.util.Date 返回值

     */

    public static Date getAfterDay(Date date, int afterDays) {

        Calendar cal = Calendar.getInstance();

        cal.setTime(date);

        cal.add(Calendar.DATE, 1);

        return cal.getTime();

    }



    // day

    /**

     * 功能: 返回date1与date2相差的天数

     * 

     * @param date1

     * @param date2

     * @return int

     */

    public static int DateDiff(Date date1, Date date2) {

        int i = (int) ((date1.getTime() - date2.getTime()) / 3600 / 24 / 1000);

        return i;

    }



    // min

    /**

     * 功能: 返回date1与date2相差的分钟数

     * 

     * @param date1

     * @param date2

     * @return int

     */

    public static int MinDiff(Date date1, Date date2) {

        int i = (int) ((date1.getTime() - date2.getTime()) / 1000 / 60);

        return i;

    }



    // second

    /**

     * 功能: 返回date1与date2相差的秒数

     * 

     * @param date1

     * @param date2

     * @return int

     */

    public static int TimeDiff(Date date1, Date date2) {

        int i = (int) ((date1.getTime() - date2.getTime()));

        return i;

    }



}

java日期操作常用工具的更多相关文章

  1. java日期操作的工具类时间格式的转换

    package cn.itcast.oa.util; import java.text.ParseException; import java.text.SimpleDateFormat;import ...

  2. Java程序员常用工具类库

    有人说当你开始学习Java的时候,你就走上了一条不归路,在Java世界里,包罗万象,从J2SE,J2ME,J2EE三大平台,到J2EE中的13中核心技术,再到Java世界中万紫千红的Framework ...

  3. java日期操作大全

    摘自(http://www.blogjava.net/i369/articles/83483.html) java日期操作 大全 先来一个:  取得指定月份的第一天与取得指定月份的最后一天  http ...

  4. java日期操作 大全

    先来一个:  取得指定月份的第一天与取得指定月份的最后一天  http://iamin.blogdriver.com/iamin/847990.html ));             }       ...

  5. Java日期时间实用工具类

    Java日期时间实用工具类 1.Date (java.util.Date)    Date();        以当前时间构造一个Date对象    Date(long);        构造函数   ...

  6. Java后端开发常用工具

    Java后端开发常用工具推荐: 俗话说,工欲善其事,必先利其器.不过初学时候不大建议过度依赖IDE等过多工具,这会让自己的编程基础功变得很差,比如各种语法的不熟悉,各种关键字比如synchronize ...

  7. Java程序员常用工具类库 - 目录

    有人说当你开始学习Java的时候,你就走上了一条不归路,在Java世界里,包罗万象,从J2SE,J2ME,J2EE三大平台,到J2EE中的13中核心技术,再到Java世界中万紫千红的Framework ...

  8. java 微信开发 常用工具类(xml传输和解析 json转换对象)

    与微信通信常用工具(xml传输和解析) package com.lownsun.wechatOauth.utl; import java.io.IOException; import java.io. ...

  9. java性能优化常用工具jmap、jstack

    jmap:java内存映像工具 jmap用于生成堆转储快照,比较常用的option包括-heap,-histo,-dump [root@localhost script]# jmap -h Usage ...

随机推荐

  1. (九十)使用多个storyboard+代码实现控制器的分开管理

    使用单个storyboard会使得项目难与管理,使用纯代码又会过于麻烦,因此如果能将二者结合起来,并且使用多个storyboard,会使得项目简单简单.方便许多. 下面以一个简单的视图关系为例,介绍多 ...

  2. 1049. Counting Ones (30)

    题目如下: The task is simple: given any positive integer N, you are supposed to count the total number o ...

  3. 新手学python(3):yield与序列化

    1 Yield生成器 Yield是我在其他语言中没有见过的一个属性,算是python的一大特色,用好之后可以使代码更简洁.考虑一个简单的例子,文件的遍历.要遍历一个目录下的所有文件需要递归的操作.如果 ...

  4. C语言实现4种常用排序

    实在没事搞,反正面试也要用到,继续来写4种排序算法.因为那天用java写了排序,突然想到我是要面试IOS,起码也得用C写.C竟然忘干净了,方法都不会写了.囧啊! 下面用C实现4种排序算法:快速排序.冒 ...

  5. Mysql大量插入数据时SQL语句的优化

    1) 对于Myisam类型的表,可以通过以下方式快速的导入大量的数据.     ALTER TABLE tblname DISABLE KEYS;    loading the data    ALT ...

  6. windbg分析运行在64位环境下的32位程序的dump

    windbg命令如下 1.   .load wow64exts 2.   !sw 3.   ~* kvnf

  7. 海量数据挖掘MMDS week7: 局部敏感哈希LSH(进阶)

    http://blog.csdn.net/pipisorry/article/details/49686913 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  8. UI设计——最后一根稻草

    WindowsLive提供的本地地图服务看起来挺简单的,但其实非常难用: 跟其他人一样,每当我接触到一个新的地图服务,我做的第一件事总是拿当前的地址去试一试.我在上面输入的是我工作的地方.但是,当我敲 ...

  9. tomcat的realm域

    Realm域,其实可以看成是一个包含了用户及密码的数据库,而且每个用户还会包含了若干角色.也就是包含了用户名.密码.角色三个列的数据记录集合,如下图,最下面椭圆内的包含的整块即可以看成realm域.它 ...

  10. HEVC(H.265)标准的编码器(x265,DivX265)试用

    基于HEVC(H.265)的的应用级别的编码器发展的速度很快.所说的应用级别,就是指速度比较快的,有实际应用价值的编码器.目前可以直接使用的有两个:x265,DivX265. DivX265 DivX ...