DateUtils.java

import java.sql.Timestamp;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import org.apache.commons.lang3.time.DateFormatUtils;

/**

* 日期工具类, 继承org.apache.commons.lang.time.DateUtils类

* @author liupd

* @version 2015-10-12

* import commons-lang3 package

*

*

*

org.apache.commons

*

commons-lang3

*

3.1

*

*/

public class DateUtils extends org.apache.commons.lang3.time.DateUtils {

private static String[] parsePatterns = { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",

"yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" };

/**

* 得到当前日期字符串 格式(yyyy-MM-dd)

*/

public static String getDate() {

return getDate("yyyy-MM-dd");

}

/**

* 得到当前日期字符串 格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"

*/

public static String getDate(String pattern) {

return DateFormatUtils.format(new Date(), pattern);

}

/**

* 得到日期字符串 默认格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"

*/

public static String formatDate(Date date, Object... pattern) {

String formatDate = null;

if (pattern != null && pattern.length > 0) {

formatDate = DateFormatUtils.format(date, pattern[0].toString());

} else {

formatDate = DateFormatUtils.format(date, "yyyy-MM-dd");

}

return formatDate;

}

/**

* 得到日期时间字符串,转换格式(yyyy-MM-dd HH:mm:ss)

*/

public static String formatDateTime(Date date) {

return formatDate(date, "yyyy-MM-dd HH:mm:ss");

}

/**

* 得到当前时间字符串 格式(HH:mm:ss)

*/

public static String getTime() {

return formatDate(new Date(), "HH:mm:ss");

}

/**

* 得到当前日期和时间字符串 格式(yyyy-MM-dd HH:mm:ss)

*/

public static String getDateTime() {

return formatDate(new Date(), "yyyy-MM-dd HH:mm:ss");

}

/**

* 得到当前年份字符串 格式(yyyy)

*/

public static String getYear() {

return formatDate(new Date(), "yyyy");

}

/**

* 得到当前月份字符串 格式(MM)

*/

public static String getMonth() {

return formatDate(new Date(), "MM");

}

/**

* 得到当天字符串 格式(dd)

*/

public static String getDay() {

return formatDate(new Date(), "dd");

}

/**

* 得到当前星期字符串 格式(E)星期几

*/

public static String getWeek() {

return formatDate(new Date(), "E");

}

/**

* 日期型字符串转化为日期 格式

* { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",

* "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" }

*/

public static Date parseDate(Object str) {

if (str == null){

return null;

}

try {

return parseDate(str.toString(), parsePatterns);

} catch (ParseException e) {

return null;

}

}

/**

* 获取过去的天数

* @param date

* @return

*/

public static long pastDays(Date date) {

long t = new Date().getTime()-date.getTime();

return t/(24*60*60*1000);

}

public static Date getDateStart(Date date) {

if(date==null) {

return null;

}

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

date= sdf.parse(formatDate(date, "yyyy-MM-dd")+" 00:00:00");

} catch (ParseException e) {

e.printStackTrace();

}

return date;

}

public static Date getDateEnd(Date date) {

if(date==null) {

return null;

}

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

date= sdf.parse(formatDate(date, "yyyy-MM-dd") +" 23:59:59");

} catch (ParseException e) {

e.printStackTrace();

}

return date;

}

/**

* 判断字符串是否是日期

* @param timeString

* @return

*/

public static boolean isDate(String timeString){

SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");

format.setLenient(false);

try{

format.parse(timeString);

}catch(Exception e){

return false;

}

return true;

}

/**

* 格式化时间

* @param timestamp

* @return

*/

public static String dateFormat(Date timestamp){

SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

return format.format(timestamp);

}

/**

* 获取系统时间Timestamp

* @return

*/

public static Timestamp getSysTimestamp(){

return new Timestamp(new Date().getTime());

}

/**

* 获取系统时间Date

* @return

*/

public static Date getSysDate(){

return new Date();

}

/**

* 生成时间随机数

* @return

*/

public static String getDateRandom(){

String s=new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());

return s;

}

/**

* @param args

* @throws ParseException

*/

public static void main(String[] args) throws ParseException {

// System.out.println(formatDate(parseDate("2010/3/6")));

// System.out.println(getDate("yyyy年MM月dd日 E"));

// long time = new Date().getTime()-parseDate("2012-11-19").getTime();

// System.out.println(time/(24*60*60*1000));

}

}

dateutils java_DateUtils.java相关推荐

  1. Java代码格式化算法_一个时间格式化的工具类:TimeUtil

    源代码如下: import android.content.Context; import android.text.TextUtils; import android.text.format.Dat ...

  2. java 跳过法定节假日和双休

    注意:五一假期的5天规则还需要算一下.直接拿过去即可使用 import java.text.ParseException; import java.text.SimpleDateFormat; imp ...

  3. java项目常用的工具类

    前言 在开发过程中,我们会遇到很多繁琐或者棘手的问题,但是,这些问题往往会存在一些便捷的工具类,来简化我们的开发,下面是我工作中经常使用到的工具类 常用工具类 日期工具类 import java.te ...

  4. java监测服务器信息(cpu,内存,运行时间等),springboot监控服务器信息

    目录 1.添加工程依赖 2. 依赖工具类 3. 使用 PS:工具类代码 model Cpu.java Jvm.java Mem.java Sys.java SysFile.java utils Ari ...

  5. Java 每年节假日获取

    Java 每年节假日获取 参考链接 以下实现参考本篇文章 说明 自动获取每年节假日,因为国家每一年的假期可能不一样,是人为设定的:所以需要每年生成一次或者在项目中写定时任务实现.因为我这里的需求稍微简 ...

  6. Java格式化日期 微秒

    Java格式化日期 微秒 Date.LocalDateTime格式化微秒值 Date.LocalDateTime互转 本文主要讲述Java日期格式化及格式化日期到微秒 Date.LocalDateTi ...

  7. java时间格式处理

    一.根据当前时间,获取具体的时刻的时间 import java.text.SimpleDateFormat; import java.util.Date;public class getTime {p ...

  8. java 实现word转pdf,并且实现内容替换,乱码处理,去水印

    1.引入依赖 aspose-words的包需要从官网下载 <dependency><groupId>fakepath</groupId><artifactId ...

  9. java获取当前日期对应的时间范围

    java日期操作类,获取当前时间的一些范围属性. 包含开始时间结束时间,开始和结束日期也可以单独来使用. 当前季度的时间范围 昨天的时间范围 前月份的时间范围 上个月的时间范围 上个季度的时间范围 当 ...

  10. java dsl_我使用DSL编写SQL的一个Java实现

    1.导读 什么是DSL?领域特定语言(Domain Specific language)通常被定义为一种特别针对某类特殊问题的计算机语言,它不打算解决其领域外的问题.了解更多 2.你使用JDBC来 存 ...

最新文章

  1. 核函数K(kernel function)
  2. EF 4.1+MVC3+Jquery Ajax+Json.Net+JqueryUI+IUnitOfWork+Repository 学习DEMO(暂停更新)
  3. 78.Zabbix监控Nginx
  4. python标准日期正则表达式_Python 正则表达式验证传统日期
  5. iris数据_Python数据分析02-Iris-直方图与KDE
  6. latex减少图片和图片解释文字之间的距离
  7. 【Java面试系列】Java微服务面试题
  8. 关于浏览器缓存,版本更新问题
  9. 回答朋友关于美团点评业务线工作体验
  10. cad延伸快捷键_CAD绘图大师都在用的46组快捷键,高效绘图必备
  11. 古典密码分析(冗余度,唯一解距离,语言统计,重合指数)
  12. oracle 11g Dataguard 之 Remote_Transport_user
  13. uniapp开发h5微信授权登录(详细教程)
  14. 反应式流 Java 9 Flow实战
  15. cisco路由器忘记密码恢复
  16. 北大青鸟所有学习资料下载地址
  17. Ubuntu安装落雪音乐LX Music
  18. 共享汽车倒下了,为何我感觉心中的石头终于落地?
  19. 为什么宝宝本来发高烧却手脚冰凉呢?
  20. CINTA作业七:同态

热门文章

  1. 使用ajax实现文件上传功能
  2. 基于CarMaker的C-NCAP主动安全系统试验仿真(四)
  3. 浏览器嗅探器检测(BrowserDetect.js)程序神器使用
  4. linux sh 按键精灵,按键精灵脚本代码教程
  5. 毕设项目 - 基于SSM的音乐网站(含源码+论文)
  6. 90天吃透阿里P8推荐的625页Java编程兵书pdf,直接入职阿里定级P6
  7. excel表格打开是乱码要如何解决?
  8. xp 计算机桌面图标不见,萝卜XP系统桌面图标全部消失了如何解决
  9. win10最常用dos命令以及win+R即可运行的命令
  10. 3个关于HR的OKR的优秀案例