首页 > 其他分享 >DateUtil时间工具类

DateUtil时间工具类

时间:2023-02-20 23:31:56浏览次数:45  
标签:DateUtil return String Date static 时间 date java 工具


package com.rc.openapi.util;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;


@SuppressWarnings("unchecked")
public class DateUtil {
private static SimpleDateFormat dateformater;
static java.text.SimpleDateFormat sdfShort = new java.text.SimpleDateFormat("yyyyMMdd");
public static java.text.SimpleDateFormat sdfLong = new java.text.SimpleDateFormat("yyyy-MM-dd");
static java.text.SimpleDateFormat sdfLongTime = new java.text.SimpleDateFormat("yyyyMMddHHmmss");
static java.text.SimpleDateFormat sdfLongTimePlus = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
static java.text.SimpleDateFormat sdfLongTimePlusMill = new java.text.SimpleDateFormat("yyyyMMddHHmmssSSSS");
private static long DAY_IN_MILLISECOND = 0x5265c00L;

/**
* @param date
* @param format 日期格式
* @return String
* @author zhangyong
*/
public static String DateToStr(Date date, String format) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
} catch (Exception e) {
System.out.println("Date 转 String 类型失败: " + e);
return null;
}
}


/**
* 把字符型日期表达式转换成java.util.Date
*
* @param strDate 型如 "yyyy-M-dd" 的日期字符串
* @return 转换后的java.util.Date对象;转换失败返回null
*/
public Date parseDate(String strDate) {
Date date = null;
try {
date = getDateFormater().parse(strDate);
} catch (Exception ex) {
// System.err.println(ex.getMessage());
}
return date;
}


private DateFormat getDateFormater() {
if (dateformater == null)
dateformater = new SimpleDateFormat("yyyy-M-dd");
return dateformater;
}

/**
* @param Date date, int days
* @return DATE 型加具体的天数
* @author zhangyong
*/
public static Date dateAddDays(Date date, int days) {
long now = date.getTime() + (long) days * DAY_IN_MILLISECOND;
return new Date(now);
}

public static String getDate() {
Date date = new Date();
DateFormat df = new SimpleDateFormat("yyyyMMdd");
return df.format(date);
}

/**
* @param Date date,String fFormatStr eg:yyyy-MM-dd HH:mm:ss
* @return 将DATE 转换成字符性日期格式
* @author zhangyong
*/
public static String dateTypeToString(Date date, String fFormatStr) {
//yyyy-MM-dd HH:mm:ss
SimpleDateFormat dateformat = new SimpleDateFormat(fFormatStr);
String strDate = dateformat.format(date);
return strDate;
}

/**
* @param yyyy-MM-dd
* @author zhangyong
* @获取当前的系统时间,并按照固定的格式初始话
*/
public static String getStringOfNowDate(String fFormatStr) {
String nowDateString = dateTypeToString(new Date(), fFormatStr);
return nowDateString;
}

/**
* @param yyyy-MM-dd
* @author zhangyong
* @获取当前的系统时间,并按照固定的格式初始话
*/
public static Date getDateOfNowDate(String fFormatStr) {
String nowDateString = dateTypeToString(new Date(), fFormatStr);
return new DateUtil().parseDate(nowDateString);
}

/**
* @ author zhangyong
* @ 获取当月的第一天,2009-05-01
*/
public static String getStringOfFirstDayInMonth() {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String temp = sdf.format(date);
String firstDayInMoth = "";
firstDayInMoth = temp + "-01";

return firstDayInMoth;

}

/**
* @ author zhangyong
* @ 获取当月的第一天,2009-05-01
*/
public static Date getDateOfFirstDayInMonth() {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String temp = sdf.format(date);
String firstDayInMoth = "";
firstDayInMoth = temp + "-01";

return new DateUtil().parseDate(firstDayInMoth);

}

/**
* Descrption:取得当前日期,格式为:yyyy-MM-dd HH:mm:ss
*
* @return String
* @throws java.lang.Exception
*/
public static String getPlusTime2(Date date) {

if (date == null) return null;
try {
String nowDate = sdfLongTimePlus.format(date);
return nowDate;
} catch (Exception e) {
e.printStackTrace();
}
return "";
}


/**
* @param String strDate,String fFormatStr eg :yyyy-MM-dd HH:mm:ss
* @return Date 字符串形式日期装换成date类型
* @author zhangyong
*/
public static Date strDateConvertToDate(String strDate, String fFormatStr) {
java.util.Date birthday = new java.util.Date();
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(fFormatStr);
try {
birthday = sdf.parse(strDate);
return birthday;
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}

/**
* Date字符串形式日期装换成date类型,不进行日志的自动加算
*
* @param strDate
* @param fFormatStr eg:yyyy-MM-dd HH:mm:ss
* @author zhang_gl
*/
public static Date strToDateNoCalculate(String strDate, String fFormatStr) {
try {
java.util.Date birthday = new java.util.Date();
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(fFormatStr);
sdf.setLenient(false);
birthday = sdf.parse(strDate);
return birthday;
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}

/**
* 基准日期增加年数、月数、天数、小时、分钟、秒数,参数为0时,不修改对应项目
*
* @param date 基准日期
* @param date 年份增量
* @param date 月份增量
* @param date 日期增量
* @param date 时钟增量
* @param date 分钟增量
* @param date 秒钟增量
* @author zhang_gl
*/
public static Date dateAddByProject(Date date, int year, int month, int day, int hour, int minute, int second) {
try {
if (date == null) {
return null;
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
if (year != 0) {
cal.add(Calendar.YEAR, year);
}
if (month != 0) {
cal.add(Calendar.MONTH, month);
}
if (day != 0) {
cal.add(Calendar.DAY_OF_MONTH, day);
}
if (hour != 0) {
cal.add(Calendar.HOUR_OF_DAY, hour);
}
if (minute != 0) {
cal.add(Calendar.MINUTE, minute);
}
if (second != 0) {
cal.add(Calendar.SECOND, second);
}

return cal.getTime();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}

/**
* 得到当前日期时间,格式为yyyy-MM-dd hh:mm:ss.
*
* @return String
*/
public static String getCurrDateTime() {
java.sql.Timestamp date = new java.sql.Timestamp(System
.currentTimeMillis());
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
return formatter.format(date);
}

public static String getDateStrNoSign(Date date) {
if (null != date) {
return sdfLongTime.format(date);
}
return null;
}

public static Date getDateFormString(String str) {
if (!"".equals(str)) {
try {
return sdfLongTimePlus.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
}
return null;
}

/**
* 判断当前日期是否在指定日期范围内
*/
public static boolean isBelongCalendar(Date _time, String _from, String _to) {
if (_from == null || _from.equals("") || _to == null || _to.equals("")) {
return false;
}
Date from = stringToDate(_from);
Date to = stringToDate(_to);
Calendar date = Calendar.getInstance();
date.setTime(_time);
Calendar after = Calendar.getInstance();
after.setTime(from);
Calendar before = Calendar.getInstance();
before.setTime(to);
if (date.after(after) && date.before(before)) {
return true;
} else {
return false;
}
}

/**
* String类型转Date类型的时间
*/
public static Date stringToDate(String time) {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = null;
try {
date = format.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}


public static String objToStr(Object obj) {
if (null == obj) {
return "";
}
return obj.toString();
}

public static String removeComma(String str) {
if (null == str || "".equals(str)) {
return "";
}
if (str.indexOf(",") != -1) {
return str.replaceAll(",", "");
}
return str;
}

/**获取上n个小时整点小时时间
* @param date
* @return
*/
public static Date getLastHourTime(Date date,int n){
Calendar ca = Calendar.getInstance();
ca.setTime(date);
ca.set(Calendar.MINUTE, 0);
ca.set(Calendar.SECOND, 0);
ca.set(Calendar.HOUR_OF_DAY, ca.get(Calendar.HOUR_OF_DAY)-n);
date = ca.getTime();
return date;
}

/**获取当前时间的整点小时时间
* @param date
* @return
*/
public static Date getCurrHourTime(Date date){
Calendar ca = Calendar.getInstance();
ca.setTime(date);
ca.set(Calendar.MINUTE, 0);
ca.set(Calendar.SECOND, 0);
date = ca.getTime();
return date;
}

public static void main(String[] args) {
Date time = new Date();
System.out.println(isBelongCalendar(time, "2017-3-11 10:00:05", ""));
System.out.println(isBelongCalendar(time, null, ""));
}


}


标签:DateUtil,return,String,Date,static,时间,date,java,工具
From: https://blog.51cto.com/u_15973676/6074526

相关文章

  • ThreadPool线程池工具类
    packagecom.rc.openapi.util;importcom.google.common.util.concurrent.ThreadFactoryBuilder;importjava.util.concurrent.*;publicclassThreadPoolService{/**......
  • JDBC工具类
    当完成JDBC操纵时,代码重复度特别高这是之前代码   内容非常的繁琐,每一次都需要重新数据库,每一次都得释放资源。所以有一个工具类packageutil;importjava.io.F......
  • Collections工具类
    Collections是一个操作Set、List和Map等集合的工具类Collections中提供了一系列静态的方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象设置不可变、对......
  • jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
    一、jienkins集成Maven1.安装Maven下载地址:https://maven.apache.org/download.cgiwget--no-check-certificatehttps://dlcdn.apache.org/maven/maven-3/3.9.0/bin......
  • 第十九章 特殊工具和技术
    第十九章特殊工具与技术控制内存分配重载new和deletenew表达式的工作机理:string*sp=newstring("avalue");//分配并初始化一个string对象string*arr=news......
  • Qt实现画图工具
    #include<QtWidgets>#include"mainwindow.h"#include"scribblearea.h"//![0]MainWindow::MainWindow(){scribbleArea=newScribbleArea;setCentralWidget(scr......
  • 开源BI工具DataEase
    在github上找到了一个比较好用的数据可视化开源项目Dataease,版风简洁明了,内部功能丰富强大。适合大部分想简单把自己写好的Excel数据和项目数据进行总结的人使用。开源项目......
  • 常用包管理工具, 国内换源操作以及源地址收集(npm, yarn, pip, docker, linux, github
    常用包管理工具的换源本文将保持更新,以适应不同时代软件源的变化;如发现软件源失效请留言提醒常用包管理工具,国内换源操作以及镜像源地址收集(npm,yarn,pip,doc......
  • JAVA工具类ObjectUtils.Null
    一、ObjectUtils.Null类作为一个空占位符,其中null具有另外一个含义。例如在HashMap中的HashMap.get(java.lang.Object)方法返回null如果这个Map包含null(也就是有一个ke......
  • DateTimePicker 日期时间选择器 + mybatis-plus 传参后端查询 传值自定义list,后端再
    前端<el-form-itemlabel="创建时间"prop="extendate"><el-date-pickerv-model="queryParams.extendate"......