java中经常会用到日期的转换,所有自己整理了一套日期转换的工具类,方便使用。

首先导入

        <dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.10.5</version></dependency>

工具类编写

package com.xxximport org.joda.time.DateTime;
import org.joda.time.Period;
import org.joda.time.format.DateTimeFormat;import java.time.LocalDate;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;public final class DateFormatter {/** Date Format String: "yyyyMMdd" */public static final String PATTERN_yyyyMMdd = "yyyyMMdd";/** Date Format String "yyyy年MM月dd日"*/public static final String yyyyMMdd ="yyyy年MM月dd日";/** Date Format String: "yyyy-MM-dd" */public static final String PATTERN_yyyy_MM_dd = "yyyy-MM-dd";/** Date Format String: "HHmmss" */public static final String PATTERN_HHmmss = "HHmmss";/** Date Format String: "HH:mm:ss" */public static final String PATTERN_HH_mm_ss = "HH:mm:ss";/** Date Format String: "yyyyMMddHHmmss" */public static final String PATTERN_yyyyMMddHHmmss = "yyyyMMddHHmmss";/** Date Format String: "yyyy-MM-dd HH:mm:ss" */public static final String PATTERN_yyyy_MM_dd_HH_mm_ss = "yyyy-MM-dd HH:mm:ss";/** Date Format String: "yyyy-MM-dd HH:mm" */public static final String PATTERN_yyyy_MM_dd_HH_mm = "yyyy-MM-dd HH:mm";/** Date Format String: "HH:mm" */public static final String PATTERN_HH_mm = "HH:mm";/** Date Format String: "HHmmssSSS" */public static final String PATTERN_HHmmssSSS = "HHmmssSSS";/** Date Format String: "yyyy-MM/dd", used in: file store etc. */public static final String PATTERN_DATEPATH = "yyyy-MM/dd";private DateFormatter() {}/*** Format date using pattern.* * @param pattern*            {@link DateTimeFormat} patterns* @param date*            date to format* @return formatted string for date*/public static String format(final String pattern, final Date date) {if (date==null) {return null;}return new DateTime(date).toString(pattern);}/*** Format calendar using pattern.* * @param pattern*            {@link DateTimeFormat} patterns* @param calendar*            calendar to format* @return formatted string for calendar*/public static String format(final String pattern, final Calendar calendar) {if (calendar==null) {return null;}return new DateTime(calendar).toString(pattern);}/*** Parse string to date using pattern.* * @param pattern*            {@link DateTimeFormat} patterns* @param date*            date string to parse* @return parsed date*/public static Date parse(final String pattern, final String date) {if (date==null) {return null;}return DateTimeFormat.forPattern(pattern).parseDateTime(date).toDate();}// ========================================================================/*** Format current date using pattern.* * @param pattern*            {@link DateTimeFormat} patterns* @return formatted string for current date*/public static String format(final String pattern) {return format(pattern, now());}// ========================================================================// ========================================================================/*** Format date using pattern {@link #PATTERN_yyyyMMdd "yyyyMMdd"}.* * @param date*            date to format* @return formatted string for date*/public static String yyyyMMdd(final Date date) {return format(PATTERN_yyyyMMdd, date);}public static String yyyyMMdd2(final Date date) {return format(yyyyMMdd, date);}/*** Format calendar using pattern {@link #PATTERN_yyyyMMdd "yyyyMMdd"}.* * @param calendar*            calendar to format* @return formatted string for calendar*/public static String yyyyMMdd(final Calendar calendar) {return format(PATTERN_yyyyMMdd, calendar);}/*** Format current date using {@link #PATTERN_yyyyMMdd "yyyyMMdd"}.* * @return formatted string for current date*/public static String yyyyMMdd() {return format(PATTERN_yyyyMMdd, now());}/*** Parse date string using {@link #PATTERN_yyyyMMdd "yyyyMMdd"}.* * @param date*            date string to parse* @return parsed date*/public static Date yyyyMMdd(final String date) {return parse(PATTERN_yyyyMMdd, date);}// ========================================================================/*** Format date string using pattern {@link #PATTERN_HHmmss "HHmmss"}.* * @param date*            date to format* @return formatted string for date*/public static String HHmmss(final Date date) {return format(PATTERN_HHmmss, date);}/*** Format calendar using pattern {@link #PATTERN_HHmmss "HHmmss"}.* * @param calendar*            calendar to format* @return formatted string for calendar*/public static String HHmmss(final Calendar calendar) {return format(PATTERN_HHmmss, calendar);}/*** Format current date using {@link #PATTERN_HHmmss "HHmmss"}.* * @return formatted string for current date*/public static String HHmmss() {return format(PATTERN_HHmmss, now());}/*** Parse date string using {@link #PATTERN_HHmmss "HHmmss"}.* * @param date*            date string to parse* @return parsed date*/public static Date HHmmss(final String date) {return parse(PATTERN_HHmmss, date);}// ========================================================================/*** Format date using {@link #PATTERN_yyyy_MM_dd "yyyy-MM-dd"}.* * @param date*            date to format* @return formatted string for date*/public static String yyyy_MM_dd(final Date date) {return format(PATTERN_yyyy_MM_dd, date);}/*** Format calendar using {@link #PATTERN_yyyy_MM_dd "yyyy-MM-dd"}.* * @param calendar*            calendar to format* @return formatted string for calendar*/public static String yyyy_MM_dd(final Calendar calendar) {return format(PATTERN_yyyy_MM_dd, calendar);}/*** Format current date using {@link #PATTERN_yyyy_MM_dd "yyyy-MM-dd"}.* * @return formatted string for current date*/public static String yyyy_MM_dd() {return format(PATTERN_yyyy_MM_dd, now());}/*** Parse date string using {@link #PATTERN_yyyy_MM_dd "yyyy-MM-dd"}.* * @param date*            date string to parse* @return parsed date*/public static Date yyyy_MM_dd(final String date) {return parse(PATTERN_yyyy_MM_dd, date);}// ========================================================================public static String HH_mm_ss(final Date date) {return format(PATTERN_HH_mm_ss, date);}public static String HH_mm_ss(final Calendar calendar) {return format(PATTERN_HH_mm_ss, calendar);}public static String HH_mm_ss() {return format(PATTERN_HH_mm_ss, now());}public static Date HH_mm_ss(final String date) {return parse(PATTERN_HH_mm_ss, date);}// ========================================================================public static String yyyyMMddHHmmss(final Date date) {return format(PATTERN_yyyyMMddHHmmss, date);}public static String yyyyMMddHHmmss(final Calendar calendar) {return format(PATTERN_yyyyMMddHHmmss, calendar);}public static String yyyyMMddHHmmss() {return format(PATTERN_yyyyMMddHHmmss, now());}public static Date yyyyMMddHHmmss(final String date) {return parse(PATTERN_yyyyMMddHHmmss, date);}// ========================================================================public static String yyyy_MM_dd_HH_mm_ss(final Date date) {return format(PATTERN_yyyy_MM_dd_HH_mm_ss, date);}public static String yyyy_MM_dd_HH_mm_ss(final Calendar calendar) {return format(PATTERN_yyyy_MM_dd_HH_mm_ss, calendar);}public static String yyyy_MM_dd_HH_mm_ss() {return format(PATTERN_yyyy_MM_dd_HH_mm_ss, now());}public static Date yyyy_MM_dd_HH_mm_ss(final String date) {return parse(PATTERN_yyyy_MM_dd_HH_mm_ss, date);}public static void main(String[] args) {System.out.println(System.currentTimeMillis());}// ========================================================================public static String yyyy_MM_dd_HH_mm(final Date date) {return format(PATTERN_yyyy_MM_dd_HH_mm, date);}public static String yyyy_MM_dd_HH_mm(final Calendar calendar) {return format(PATTERN_yyyy_MM_dd_HH_mm, calendar);}public static String yyyy_MM_dd_HH_mm() {return format(PATTERN_yyyy_MM_dd_HH_mm, now());}public static Date yyyy_MM_dd_HH_mm(final String date) {return parse(PATTERN_yyyy_MM_dd_HH_mm, date);}// ========================================================================public static String HH_mm(final Date date) {return format(PATTERN_HH_mm, date);}public static String HH_mm(final Calendar calendar) {return format(PATTERN_HH_mm, calendar);}public static String HH_mm() {return format(PATTERN_HH_mm, now());}public static Date HH_mm(String date) {return parse(PATTERN_HH_mm, date);}// ========================================================================/*** Format date string using pattern {@link #PATTERN_HHmmssSSS "HHmmssSSS"}.* * @param date* @return*/public static String HHmmssSSS(final Date date) {return format(PATTERN_HHmmssSSS, date);}public static String HHmmssSSS(final Calendar date) {return format(PATTERN_HHmmssSSS, date);}public static String HHmmssSSS() {return format(PATTERN_HHmmssSSS, now());}public static Date HHmmssSSS(String date) {return parse(PATTERN_HHmmssSSS, date);}// ========================================================================/*** @see DateTime#now()* @return current DateTime (eg. new Date())*/public static Date now() {Date date = new Date();return date;}/*** @see Calendar#getInstance()* @return currentCalendar*/public static Calendar calendar() {return DateTime.now().toCalendar(Locale.getDefault());}/*** @see System#currentTimeMillis()* @return the difference, measured in milliseconds, between the current*         time and midnight, January 1, 1970 UTC.*/public static long millis() {return System.currentTimeMillis();}public static final int MILLIS_PER_SECOND = 1000;public static final int SECONDS_PER_MINUTE = 60;public static final int MINUTES_PER_HOUR = 60;public static final int HOURS_PER_DAY = 24;public static final int DAYS_PER_WEEK = 7;/*** Get current date with time 00:00:00.* * @return current date with time: 00:00:00*/public static Date startOfDay() {return startOfDay(now());}public static Date endOfDay() {return endOfDay(now());}/*** Get gived date with time: 00:00:00.* * @param date*            given date* @return gived date with time: 00:00:00*/public static Date startOfDay(final Date date) {return new DateTime(date.getTime()).withTimeAtStartOfDay().toDate();}public static Date endOfDay(final Date date) {return new DateTime(date.getTime()).millisOfDay().withMaximumValue().toDate();}/*** Get current month first day with time: 00:00:00.* * @return current month first day with time: 00:00:00*/public static Date startOfMonth() {return startOfMonth(now());}/*** Get month first day with time: 00:00:00 of given date.* * @param date*            given date* @return first day of month with time: 00:00:00 for given date.*/public static Date startOfMonth(final Date date) {return new DateTime(date.getTime()).dayOfMonth().withMinimumValue().withTimeAtStartOfDay().toDate();}public static Date endOfMonth() {return DateTime.now().dayOfMonth().withMaximumValue().millisOfDay().withMaximumValue().toDate();}public static Date endOfMonth(final Date date) {return new DateTime(date.getTime()).dayOfMonth().withMaximumValue().millisOfDay().withMaximumValue().toDate();}public static Date startOfWeek() {return DateTime.now().dayOfWeek().withMinimumValue().withTimeAtStartOfDay().toDate();}public static Date startOfWeek(final Date date) {return new DateTime(date.getTime()).dayOfWeek().withMinimumValue().withTimeAtStartOfDay().toDate();}public static Date endOfWeek() {return DateTime.now().dayOfWeek().withMaximumValue().millisOfDay().withMaximumValue().toDate();}public static Date endOfWeek(final Date date) {return new DateTime(date).dayOfWeek().withMaximumValue().millisOfDay().withMaximumValue().toDate();}public static boolean expiredSeconds(final Date from, final int seconds) {return expiredSeconds(from, now(), seconds);}public static boolean expiredSeconds(final Date from, final Date to, final int seconds) {return new DateTime(from).plusSeconds(seconds).isBefore(to.getTime());}public static boolean expiredMinutes(final Date from, final int minutes) {return expiredMinutes(from, now(), minutes);}public static boolean expiredMinutes(final Date from, final Date to, final int minutes) {return new DateTime(from).plusMinutes(minutes).isBefore(to.getTime());}public static boolean expiredHours(final Date from, final int hours) {return expiredHours(from, now(), hours);}public static boolean expiredHours(final Date from, final Date to, final int hours) {return new DateTime(from).plusHours(hours).isBefore(to.getTime());}public static boolean expiredDays(final Date from, final int days) {return expiredDays(from, now(), days);}public static boolean expiredDays(final Date from, final Date to, final int days) {return new DateTime(from).plusDays(days).isBefore(to.getTime());}public static boolean expiredMonth(final Date from, final int month) {return expiredMonth(from, now(), month);}public static boolean expiredMonth(final Date from, final Date to, final int months) {return new DateTime(from).plusMonths(months).isBefore(to.getTime());}public static boolean sameDay(final Date from) {return sameDay(from, now());}public static boolean sameDay(final Date from, final Date to) {return startOfDay(from).equals(startOfDay(to));}public static boolean sameWeek(final Date from) {return sameWeek(from, now());}public static boolean sameWeek(final Date from, final Date to) {return startOfWeek(from).equals(startOfWeek(to));}public static int days(Date from, Date to) {from = startOfDay(from);to = startOfDay(to);return (int) ((to.getTime() - from.getTime()) / (1000 * 3600 * 24));}public static String datePath() {return format(PATTERN_DATEPATH);}public static String datePath(Date date) {return format(PATTERN_DATEPATH, date);}public static java.sql.Date sqlDate(Date date) {return new java.sql.Date(date.getTime());}public static java.sql.Date sqlDate() {return sqlDate(now());}public static java.sql.Time sqlTime(Date date) {return new java.sql.Time(date.getTime());}public static java.sql.Time sqlTime() {return sqlTime(now());}public static java.sql.Timestamp sqlTimestamp(Date date) {return new java.sql.Timestamp(date.getTime());}public static java.sql.Timestamp sqlTimestamp() {return sqlTimestamp(now());}public static Date nextYear(Date from) {return nextYear(from, 1);}public static Date previousYear(Date from) {return nextYear(from, -1);}public static Date nextDay(Date from) {return nextDay(from, 1);}public static Date previousDay(Date from) {return nextDay(from, -1);}public static Date nextWeek(Date from) {return nextWeek(from, 1);}public static Date previousWeek(Date from) {return nextDay(from, -1);}public static Date nextMonth(Date from) {return nextMonth(from, 1);}public static Date previousMonth(Date from) {return nextMonth(from, -1);}public static Date nextHour(Date from) {return nextHour(from, 1);}public static Date previousHour(Date from) {return nextHour(from, -1);}public static Date previousSeconds(Date from) {return nextSeconds(from, -1);}public static Date nextYear(Date from, int years) {return new DateTime(from).plusYears(years).toDate();}public static Date nextDay(Date from, int days) {return new DateTime(from).plusDays(days).toDate();}public static Date nextWeek(Date from, int weeks) {return new DateTime(from).plusWeeks(weeks).toDate();}public static Date nextMonth(Date from, int months) {return new DateTime(from).plusMonths(months).toDate();}public static Date nextHour(Date from, int hours) {return new DateTime(from).plusHours(hours).toDate();}public static Date nextSeconds(Date from, int seconds) {return new DateTime(from).plusSeconds(seconds).toDate();}public static Date next(Date from, Period period) {return new DateTime(from).plus(period).toDate();}public static Date next(Period period) {return DateTime.now().plus(period).toDate();}@SuppressWarnings("deprecation")public static int months(Date from, Date to) {return (to.getMonth() - from.getMonth()) + (to.getYear() - from.getYear()) *12;}/*** LocalDate转Date* @param localDate* @return*/public static Date localDate2Date(LocalDate localDate) {if(null == localDate) {return null;}ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault());return Date.from(zonedDateTime.toInstant());}/*** Date转换成LocalDate* @param date* @return*/public static LocalDate date2LocalDate(Date date) {if(null == date) {return null;}return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();}}

简单方便,可以直接使用!!!

JAVA日期转换工具类相关推荐

  1. java hh24miss_时间日期转换工具类,获取当前时间YYYYMMDD24HHMISS、YYYYMMDDHHMISS

    packagecom.ztesoft.iotcmp.util;importcom.ztesoft.zsmart.core.log.ZSmartLogger;importjava.sql.Timesta ...

  2. java 日期处理工具类_Java日期处理工具类DateUtils详解

    本文实例为大家分享了Java日期处理工具类DateUtils的具体代码,供大家参考,具体内容如下 import java.sql.Timestamp; import java.text.ParseEx ...

  3. 自定义java对象转换工具类

    背景 项目中经常有VO.PO.DTO等之间转换,由于apache工具类中BeanUtils.copyProperties及Json序列化反序列化方式转换性能比较低(阿里巴巴规范检查有提示不建议采用). ...

  4. Java金额转换工具类

    package com.healthy.prms.common.util;import java.math.BigDecimal;/*** @ClassName: RMBUtils* @Descrip ...

  5. java日期转化工具类

    package com.rest.ful.utils;import java.text.DateFormat; import java.text.ParseException; import java ...

  6. 06_03_SpringMVC 任务一: SpringMVC基本应用(SpringMVC请求与响应,进行日期转换工具类DateConverter)

    任务一: SpringMVC基本应用 课程任务主要内容: SpringMVC简介 SpringMVC组件概述 SpringMVC请求 SpringMVC响应 静态资源开启 一 SpringMVC简介 ...

  7. 提高工作效率的万能Java行列转换工具类

    1.说明 有时候工作中需要动态生成列,也就是不确定的列,那么在数据库层就不是那么好操作了,可以使用java工具类来实现. 本工具类是对市面上的工具类进行加工改造,可以通用于各种情况,更加灵活,下面我来 ...

  8. java 对象 转换 工具类_Java中excel与对象的互相转换的通用工具类编写与使用(基于apache-poi-ooxml)...

    通用excel与对象相互转换的工具类 前言:最近开发需要一个Excel批量导入或者导出的功能,之前用过poi-ooxml开发过一个导入的工具类,正好蹭着这次机会,把工具类的功能进行完善. 使用说明: ...

  9. java中文转换工具类

    /*** 获取中文首字母工具类** @author jiangjunjie*/ public class ChineseCharToEnUtil {/*** 转换为有声调的拼音字符串** @param ...

最新文章

  1. C 实现删除非空文件夹
  2. 小猿圈html5教程之canvas绘制线段方法
  3. 暴富、投机,金钱、欲望、人性,一个叫 Fomo3D的游戏正在刷新你的世界观
  4. 实例:加载图片并添加文本水印
  5. pythonweb扫描器_Python安全工具之web目录扫描
  6. oracle presentation = ro,设置sqlplus访问远程oracle数据库的方法
  7. 菜鸟成长记(十一)----- 操蛋的2016与未知的2017
  8. Ubuntu18.04创建新的系统用户
  9. python库下载安装报错_python安装第三方库报错visual c++ 14.0 is required
  10. 最简单的delphi启动画面(转)
  11. Class字节码文件结构总结
  12. 水晶报表客户机电脑报错“CrystalDecisions.CrystalReports.Engine.ReportDocument”
  13. 偏微分方程数值解法python_微分方程数值方法和偏微分方程有什么区别吗?
  14. varchar和varchar2之间的区别
  15. 字节跳动的 8 轮视频面试流程
  16. 使用Jeb动态调试安卓的时候显示Could not attach to target
  17. JVM 启动参数规则:-、-X、-XX、-D表示什么意思?
  18. 马氏距离 vs 欧氏距离
  19. android简单备忘录实现,android备忘录实现
  20. jquey学习篇 第一篇

热门文章

  1. linux cp命令 强制覆盖,解决 Linux cp 命令加了 -f 后依然提示覆盖的问题
  2. java split空字符_转: 关于Java中split方法对空字符串处理问题
  3. 凤凰金融成中国互联网金融协会首批会员
  4. 无线耳机什么牌子的好?内行盘点四款好用的蓝牙耳机
  5. Linux学习路线图及常逛自学网站推荐
  6. ICASSP2021:端到端的图像编码方法
  7. LED太阳能感应庭院灯开发方案
  8. 日常 - CompletableFuture 异步网约车服务超时未关闭
  9. 一些Qt第三方语言绑定库
  10. dsp处理浮点数_DSP中浮点数的表示方法