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. 最简单的基于libVLC的例子:最简单的基于libVLC的推流器

    ===================================================== 最简单的基于libVLC的例子文章列表: 最简单的基于libVLC的例子:最简单的基于lib ...

  2. 使用Broadcast实现android组件之间的通信

    android组件之间的通信有多种实现方式,Broadcast就是其中一种.在activity和fragment之间的通信,broadcast用的更多本文以一个activity为例. 效果如图: 布局 ...

  3. UNIX网络编程——线程池模式比较(ICE线程池模型和L/F领导者跟随者模式)

    程池模式一般分为两种:L/F领导者与跟随者模式.HS/HA半同步/半异步模式. HS/HA 半同步/ 半异步模式 :分为三层,同步层.队列层.异步层,又称为生产者消费者模式,主线程处理I/O事件并解析 ...

  4. Git工程迁移方法总结(命令行)

    Git工程迁移方法总结 Git工程迁移方法总结 Git最近准备迁移一下位置,这里采用命令行的方式,做如下操作. 1.git init  初始化git仓库,这个时候发现本地文件夹多了个.git的文件夹. ...

  5. J2EE学习从菜鸟变大鸟之八 企业级项目开发的思考

    什么是企业级项目开发 "企业级项目".企业级项目开发,Java也是企业级项目开发,这个我们到处说.听,每天被我们挂在嘴边,可是到底什么项目才算是"企业级"?自己 ...

  6. [Python]django使用多进程连接msyql错误

    问题 mysql 查询出现错误 error: (2014, "Commands out of sync; you can't run this command now") 查询 m ...

  7. Mybatis接口编程原理分析(一)

    Mybatis接口编程示例 (1)首先定义接口编程需要的接口及其方法 public interface IUserMapper { public User getById(int id);//接口方法 ...

  8. eclipse导入已有工程

    eclipse不同的版本,导致导入已有工程的方法不同.老版本中使用的是新建java工程,然后选择根据已经存在的project创建,就可以了. 但我的是version: Helios Service R ...

  9. Android利用ViewPager仿微信主界面-android学习之旅(78)

    首先是介绍ViewPager这个控件 ,这个控件需要pagerAdapter作为容器来提供数据,同时pagerAdapter的数据源是View数组 效果图如下 部分代码如下,实现如下的方法 mPage ...

  10. (NO.00001)iOS游戏SpeedBoy Lite成形记(九)

    我们回到matchRun方法中去尝试第一次修改,部分代码如下: CCActionMoveBy *moveBy = [CCActionMoveBy actionWithDuration:duration ...