importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;/*** 日期工具类 默认使用 "yyyy-MM-dd HH:mm:ss" 格式化日期

**/

public final classDateUtils {/*** 英文简写(默认)如:2010-12-01*/

public static String FORMAT_SHORT = "yyyy-MM-dd";/*** 英文全称 如:2010-12-01 23:15:06*/

public static String FORMAT_LONG = "yyyy-MM-dd HH:mm:ss";/*** 精确到毫秒的完整时间 如:yyyy-MM-dd HH:mm:ss.S*/

public static String FORMAT_FULL = "yyyy-MM-dd HH:mm:ss.S";/*** 中文简写 如:2010年12月01日*/

public static String FORMAT_SHORT_CN = "yyyy年MM月dd";/*** 中文全称 如:2010年12月01日 23时15分06秒*/

public static String FORMAT_LONG_CN = "yyyy年MM月dd日 HH时mm分ss秒";/*** 精确到毫秒的完整中文时间*/

public static String FORMAT_FULL_CN = "yyyy年MM月dd日 HH时mm分ss秒SSS毫秒";/*** 获得默认的 date pattern*/

public staticString getDatePattern() {returnFORMAT_LONG;

}/*** 根据预设格式返回当前日期

*

*@return

*/

public staticString getNow() {return format(newDate());

}/*** 根据用户格式返回当前日期

*

*@paramformat

*@return

*/

public staticString getNow(String format) {return format(newDate(), format);

}/*** 使用预设格式格式化日期

*

*@paramdate

*@return

*/

public staticString format(Date date) {returnformat(date, getDatePattern());

}/*** 使用用户格式格式化日期

*

*@paramdate

* 日期

*@parampattern

* 日期格式

*@return

*/

public staticString format(Date date, String pattern) {

String returnValue= "";if (date != null) {

SimpleDateFormat df= newSimpleDateFormat(pattern);

returnValue=df.format(date);

}return(returnValue);

}/*** 使用预设格式提取字符串日期

*

*@paramstrDate

* 日期字符串

*@return

*/

public staticDate parse(String strDate) {returnparse(strDate, getDatePattern());

}/*** 使用用户格式提取字符串日期

*

*@paramstrDate

* 日期字符串

*@parampattern

* 日期格式

*@return

*/

public staticDate parse(String strDate, String pattern) {

SimpleDateFormat df= newSimpleDateFormat(pattern);try{returndf.parse(strDate);

}catch(ParseException e) {

e.printStackTrace();return null;

}

}/*** 在日期上增加数个整月

*

*@paramdate

* 日期

*@paramn

* 要增加的月数

*@return

*/

public static Date addMonth(Date date, intn) {

Calendar cal=Calendar.getInstance();

cal.setTime(date);

cal.add(Calendar.MONTH, n);returncal.getTime();

}/*** 在日期上增加天数

*

*@paramdate

* 日期

*@paramn

* 要增加的天数

*@return

*/

public static Date addDay(Date date, intn) {

Calendar cal=Calendar.getInstance();

cal.setTime(date);

cal.add(Calendar.DATE, n);returncal.getTime();

}/*** 获取时间戳*/

public staticString getTimeString() {

SimpleDateFormat df= newSimpleDateFormat(FORMAT_FULL);

Calendar calendar=Calendar.getInstance();returndf.format(calendar.getTime());

}/*** 获取日期年份

*

*@paramdate

* 日期

*@return

*/

public staticString getYear(Date date) {return format(date).substring(0, 4);

}/*** 按默认格式的字符串距离今天的天数

*

*@paramdate

* 日期字符串

*@return

*/

public static intcountDays(String date) {long t =Calendar.getInstance().getTime().getTime();

Calendar c=Calendar.getInstance();

c.setTime(parse(date));long t1 =c.getTime().getTime();return (int) (t / 1000 - t1 / 1000) / 3600 / 24;

}/*** 按用户格式字符串距离今天的天数

*

*@paramdate

* 日期字符串

*@paramformat

* 日期格式

*@return

*/

public static intcountDays(String date, String format) {long t =Calendar.getInstance().getTime().getTime();

Calendar c=Calendar.getInstance();

c.setTime(parse(date, format));long t1 =c.getTime().getTime();return (int) (t / 1000 - t1 / 1000) / 3600 / 24;

}

}

java格式化时间博客园_Java 日期格式化工具类相关推荐

  1. java课程设计 博客园_Java课程设计博客(团队)

    Java课程设计博客(团队) 1. 团队/项目名称 使用JAVA实现简易HTTP服务器 2. 团队成员 组长:林一心 组员:张杭镖 3. 项目git地址 4. 项目git提交记录截图 5. 项目功能架 ...

  2. java课程设计 博客园_java课程设计

    Java程序设计 课程设计 3.本人负责的主要功能展示与代码分析 //这是一个文件夹类 public class Folder { private String name;//文件夹的名称 priva ...

  3. java 网络编程 博客园_java网络编程

    1.计算机网络基础 OSI参考模型(开放系统互连参考模型): 物理层:物理层处于OSI的最底层,是整个开放系统的基础.物理层涉及通信信道上传输的原始比特流(bits),它的功能主要是为数据端设备提供传 ...

  4. java接口自动化+博客园_java+接口自动化+eclipse之-----环境搭建

    根据金字塔的比重总结,UI测试占用10%,接口测试占有20%,单元测试占用70%.考虑到之前学过一段时间的单元测试.UI测试,而接口测试未曾接触过,所以最近打算看看接口测试是怎么实现的. 首先,我们先 ...

  5. java 中aop 博客园_Java 10.Spring--AOP编程

    1.创建web项目 2.引入jar包 在原有的jar包加上AOP的jar包 3.日志 4.准备目标对象 先创建接口 在创建实现类 package com.Spring.aop.service; pub ...

  6. java list 博客园_Java集合系列(一)List集合

    List的几种实现的区别与联系 List主要有ArrayList.LinkedList与Vector几种实现. ArrayList底层数据结构是数组, 增删慢.查询快; 线程不安全, 效率高; 不可以 ...

  7. java知识点博客园_JAVA基础知识回顾

    JAVA基础知识回顾 一.背景介绍 JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java 2 Platfo ...

  8. java开发个人博客过程_java web个人博客开发(四详细设计)

    1.序言 详细设计主要内容在这里是接口设计,即html页面请求到,java后台返回数据的接口.预期实用restful风格,所以接口形式是url+请求参数,数据格式为json.由于文章统计阅读量和博主的 ...

  9. java bag_Java - T---bag - 博客园

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向对象编程语言的代表 ...

最新文章

  1. 真爱!微软宣布新开源网站,由 Jekyll 一键生成,代码所见即所得
  2. Git bash 终止git log 命令
  3. Overlay 网络 — Overview
  4. HTML五子棋游戏代码介绍,五子棋html游戏代码与算法介绍
  5. Codeforces 982 C. Cut 'em all! 图的遍历
  6. 构造 Codeforces Round #275 (Div. 2) C. Diverse Permutation
  7. “记录”是给世界做积极贡献的一种方式
  8. 公网IP和私有IP的区别和用途
  9. python杨辉三角_yiduobo的每日leetcode 118.杨辉三角 amp;amp; 119.杨辉三角II
  10. 循环链表:拉丁方阵问题
  11. 汇编学习笔记(1)基础知识
  12. Echarts常用配置参数
  13. 移远EC20 4G模块拨号相关
  14. 再见安卓 你好鸿蒙,再见华为,你好鸿蒙
  15. 程序员一周内了解一个行业的方法
  16. 手把手教你免费、批量转换HEIC图片到JPG
  17. 第三方登录-[微博、微信、qq] java实现
  18. ZOJ3380- Patchouli's Spell Cards(概率DP+计数)
  19. 【源码】具有“放大镜”功能的函数magnify
  20. 使用Charles监控手机应用的网络请求

热门文章

  1. 关于premake4
  2. 在DBGrid中实现Copy、Paste功能 - DELPHI
  3. 关于CentOS7虚拟机出现Failed to start LSB: Bring up/down的解决方法
  4. 围观RecSys2020 | 推荐系统顶会说了啥?(附论文打包下载)
  5. Python实战从入门到精通第十二讲——给函数参数增加元信息
  6. 软件设计师学习3——操作系统知识
  7. EMNLP 2021 | 百度:多语言预训练模型ERNIE-M
  8. 机器学习中树模型算法总结之 决策树(下)
  9. mysql skip remarks_mysql DatabaseMetaData 获取table remarks为空的解决办法
  10. vimium插件_chrome插件神奇的vimium人性化设置