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. debian 安装jdk

    JDK下载http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6- ...

  2. java实现:将一个数逆序输出

    前面我们用C语言实现过这个程序,其实java也一样的,很多步骤跟C差不多,但是有些接口和特性可能不同: import java.util.Scanner;//要使用scanner这个类,就需要导入一个 ...

  3. Linux的启动流程 (二)

    引:本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程.并且介绍了启动中涉及到的各种文件.阅读Linux源代码,无疑是深入学习Linux的 ...

  4. jsp自动编译机制

    总的来说,Jasper的自动检测实现的机制比较简单,依靠某后台线程不断检测JSP文件与编译后的class文件的最后修改时间是否相同,若相同则认为没有改动,但倘若不同则需要重新编译.实际上由于在Tomc ...

  5. WdatePicker()时间控制方式(转载+原创)

     控制时间在制定范围内: <input class="wzsrk" name="startDateStr" id="startDateStr ...

  6. Linux下触摸屏驱动程序分析

    [摘要: 本文以linux3.5--Exynos4412仄台,剖析触摸屏驱动焦点内容.Linux下触摸屏驱动(以ft5x06_ts为例)须要懂得以下学问: 1. I2C协定 2. Exynos4412 ...

  7. 推荐一个优秀的c++源代码,TinyXml2

    项目主页:http://grinninglizard.com/tinyxml2docs/index.html tinyxml2.h /* Original code by Lee Thomason ( ...

  8. 【一天一道LeetCode】#53. Maximum Subarray

    一天一道LeetCode系列 (一)题目 Find the contiguous subarray within an array (containing at least one number) w ...

  9. Activity堆栈管理

    task就好像是能包含很多activity的栈. 默认情况下,一个activity启动另外一个activity时,两个activity是放在同一个task栈中的,第二个activity压入第一个 ac ...

  10. PYTHON风格规范-Google 开源项目风格指南

    Python风格规范 分号 Tip 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 Tip 每行不超过80个字符 例外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Py ...