博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用日期工具类
阅读量:5106 次
发布时间:2019-06-13

本文共 5159 字,大约阅读时间需要 17 分钟。

常用日期工具类

import java.sql.Timestamp;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import org.joda.time.DateTime;import org.joda.time.Days;import org.joda.time.LocalDate;import org.joda.time.format.DateTimeFormat;/** * 常用日期工具类 * @author changbingbing * */public class DateUtils {    public static final String FORMAT_DATE_TIME_DEFAULT="yyyy-MM-dd HH:mm:ss";//默认的年月日时分秒格式    public static final String FORMAT_DATE_FOR_BORROWS="yyMMdd";//借款主键的年月日格式    public static final String FORMAT_DATE_FOR_DAY="yyyy-MM-dd";//一般的天格式    public static final String FORMAT_DATE_FOR_YMD000="yyyy-MM-dd 00:00:00";//yyyy-MM-dd 00:00:00    public static final String FORMAT_DATE_CH="yyyy年MM月dd日";    public static final String FORMAT_DATE_D="d";

 格式化指定日期(java.util.Date)

/**     *      * @Title: formatDate     * @Description:格式化指定日期(java.util.Date)     * @param format     * @param date     * @return     * @Return: String     *     */    public static String formatDate(String format, Date date) {        SimpleDateFormat sdf = new SimpleDateFormat(format);        return sdf.format(date);    }

 格式化指定日期(org.joda.time.DateTime)

/**     * 格式化指定日期(org.joda.time.DateTime)     * @param format     * @param dateTime     * @return     */    public static String formatDateTime(String format, DateTime dateTime) {        return dateTime.toString(format);    }

 格式化时间戳(java.sql.Timestamp)

/**     *      * @Title: formatTimeStamp     * @Description:格式化时间戳(java.sql.Timestamp)     * @param format     * @param tm     * @return     * @Return: String     *     */    public static String formatTimeStamp(String format, Timestamp tm) {        SimpleDateFormat sdf = new SimpleDateFormat(format);        return sdf.format(new Date(tm.getTime()));    }

 字符串转化成日期(java.util.Date)

/**     *      * @Title: parseDate     * @Description:字符串转化成日期(java.util.Date)     * @param format     * @param dateStr     * @return     * @Return: Date     *     */    public static Date parseDate(String format, String dateStr) {        Date dateResult = null;        SimpleDateFormat sdf = new SimpleDateFormat(format);        try {            dateResult = sdf.parse(dateStr);        } catch (ParseException e) {            e.printStackTrace();        }        return dateResult;    }

 字符串转化成日期(org.joda.time.DateTime)

/**     * 字符串转化成日期(org.joda.time.DateTime)     * @param format     * @param dateStr     * @return     */    public static DateTime parseDateTime(String format, String dateStr) {        DateTime parseDateTime = null;        try {            parseDateTime = DateTimeFormat.forPattern(format).parseDateTime(dateStr);        } catch (Exception e) {            e.printStackTrace();        }        return parseDateTime;    }

 字符串转化成日期2(org.joda.time.DateTime)

/**     * 字符串转化成日期2(org.joda.time.DateTime)     * @param format     * @param dateStr     * @return     */    public static DateTime parseDateTime2(String format, String dateStr) {        DateTime parseDateTime = null;        try {            parseDateTime = DateTime.parse(dateStr, DateTimeFormat .forPattern(format));        } catch (Exception e) {            e.printStackTrace();        }        return parseDateTime;    }

 计算当前日期的上一个月的开始日期和结束日期

/**     * 计算当前日期的上一个月的开始日期和结束日期     *      * @Title: calcLastStartEnd     * @Description:TODO     * @return     * @Return: DateTime[]     *     */    public static String[] calcLastStartEnd() {        // 1.拿到当前日期        DateTime currentDate = new DateTime();        // 2.1 计算上一个月的开始日期        DateTime tempLastFirstStart = currentDate.minusMonths(1).dayOfMonth()                .withMinimumValue();        DateTime lastFirstStart = new DateTime(tempLastFirstStart.getYear(),                tempLastFirstStart.getMonthOfYear(),                tempLastFirstStart.getDayOfMonth(), 0, 0, 0);        // 2.2 计算上一个月的结束日期        DateTime tempLastFirstEnd = currentDate.minusMonths(1).dayOfMonth()                .withMaximumValue();        DateTime lastFirstEnd = new DateTime(tempLastFirstEnd.getYear(),                tempLastFirstEnd.getMonthOfYear(),                tempLastFirstEnd.getDayOfMonth(), 23, 59, 59);        // 3.封装在数组里面返回        String lastStartEnd[] = new String[] {                lastFirstStart.toString(DateUtils.FORMAT_DATE_TIME_DEFAULT),                lastFirstEnd.toString(DateUtils.FORMAT_DATE_TIME_DEFAULT) };        return lastStartEnd;    }

 计算2个日期之间的差

/**     *      * @Title: daysBetween     * @Description:计算2个日期之间的差     * @param startTime     * @param endTime     * @return     * @Return: int     *     */    public static int daysBetween(DateTime startTime,DateTime endTime){        return Days.daysBetween(startTime, endTime).getDays();    }

  org.joda.time.DateTime转java.util.Date

/**     * org.joda.time.DateTime转java.util.Date     * @param dateTime     * @return     */    public static Date toDate(DateTime dateTime){        return dateTime.toDate();    }

 java.util.Date转org.joda.time.DateTime

/**     * java.util.Date转org.joda.time.DateTime     * @param date     * @return     */    public static DateTime toDateTime(Date date){        return new DateTime(date);    }

 

转载于:https://www.cnblogs.com/cb0327/p/5505796.html

你可能感兴趣的文章
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
中国烧鹅系列:利用烧鹅自动执行SD卡上的自定义程序(含视频)
查看>>
Solaris11修改主机名
查看>>
latex for wordpress(一)
查看>>
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
iframe跨域与session失效问题
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
Hash和Bloom Filter
查看>>
SQL Server获取月度列表
查看>>
python常用函数
查看>>
python 描点画圆
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
VUE源码解析心得
查看>>
[HDU3683 Gomoku]
查看>>
【工具相关】iOS-Reveal的使用
查看>>
数据库3
查看>>