java时间操作工具类
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
public class DateUtil {
public static final String DATETIME = "yyyy-MM-dd HH:mm:ss";
public static final String DATE = "yyyy-MM-dd";
public DateUtil() {
}
public static String datetimeToStr(Date date, String format) {
if (date == null) {
return null;
} else {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
}
}
public static String dateTimeToStr(Date date) {
return datetimeToStr(date, "yyyy-MM-dd HH:mm:ss");
}
public static String dateToStr(Date date) {
return datetimeToStr(date, "yyyy-MM-dd");
}
public static String dateToStr(Date date, String format) {
return datetimeToStr(date, format);
}
public static String getCurrentDate() {
return (new SimpleDateFormat("yyyy-MM-dd")).format(new Date());
}
public static String getCurrentDate(String format) {
return (new SimpleDateFormat(format)).format(new Date());
}
public static String getCurrentDatetime() {
return (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date());
}
public static String getCurrentDatetime(String format) {
return (new SimpleDateFormat(format)).format(new Date());
}
public static int getCurrentTimeHashCode() {
return String.valueOf(System.currentTimeMillis()).hashCode();
}
public static Date getDateBegin(Date date) {
SimpleDateFormat ymdFormat = new SimpleDateFormat("yyyy-MM-dd");
if (date != null) {
try {
return DateFormat.getDateInstance(2, Locale.CHINA).parse(ymdFormat.format(date));
} catch (ParseException var3) {
System.err.println("DataFromat error");
}
}
return null;
}
public static Date getDateEnd(Date date) {
SimpleDateFormat ymdFormat = new SimpleDateFormat("yyyy-MM-dd");
if (date != null) {
try {
Date endDate = strToDate(ymdFormat.format(new Date(date.getTime() + 86400000L)));
endDate = new Date(endDate.getTime() - 1000L);
return endDate;
} catch (Exception var3) {
System.err.println("DataFromat error");
}
}
return null;
}
public static long getNow() {
return System.currentTimeMillis();
}
public static String getTime() {
Date d = new Date();
String re = datetimeToStr(d, "yyyyMMddHHmmssSSS");
return re;
}
public static String getTime(String format) {
Date d = new Date();
String re = datetimeToStr(d, format);
return re;
}
public static Date strToFormatDate(String date, String format) {
if (date == null) {
return null;
} else {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.parse(date, new ParsePosition(0));
}
}
public static Date strToDate(String date) {
return strToFormatDate(date, "yyyy-MM-dd");
}
public static final Date strToDate(String dateStr, String format) {
return strToFormatDate(dateStr, format);
}
public static Date strToDateTime(String date) {
return strToFormatDate(date, "yyyy-MM-dd HH:mm:ss");
}
public static Date strToDateTime(String date, String format) {
return strToFormatDate(date, format);
}
public static Timestamp strToTimestamp(String str) throws Exception {
if (StringUtils.isEmpty(str)) {
throw new Exception("转换错误");
} else {
return str.trim().length() > 10 ? new Timestamp((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).parse(str).getTime()) : new Timestamp((new SimpleDateFormat("yyyy-MM-dd")).parse(str).getTime());
}
}
public static Timestamp strToTimestamp(String sDate, String sFormat) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(sFormat);
Date t = sdf.parse(sDate);
return new Timestamp(t.getTime());
}
public static boolean validateExpireDate(long timeMillis, long expireTimeMillis) {
return getNow() - timeMillis > expireTimeMillis;
}
public static String getHHmmssSSS() {
Date d = new Date();
return getHHmmssSSS(d);
}
public static String getHHmmssSSS(Date d) {
int hh = Integer.valueOf(datetimeToStr(d, "HH"));
int mm = Integer.valueOf(datetimeToStr(d, "mm"));
int ss = Integer.valueOf(datetimeToStr(d, "ss"));
int sss = Integer.valueOf(datetimeToStr(d, "SSS"));
int time = 0;
if (hh != 0) {
time += hh * 60 * 60 * 1000;
}
if (mm != 0) {
time += mm * 60 * 1000;
}
if (ss != 0) {
time += ss * 1000;
}
if (sss != 0) {
time += sss;
}
String str;
for(str = String.valueOf(time); str.length() < 8; str = "0" + str) {
;
}
return str;
}
public static Date caculateDate(Date date, Integer count, int status) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(status, calendar.get(status) + count);
return calendar.getTime();
}
public static int caculateDaysNumber(int year, int month) {
Calendar cal = Calendar.getInstance();
cal.set(1, year);
cal.set(2, month - 1);
return cal.getActualMaximum(5);
}
public static Date caculateDateByNextBaseMonth(Date now, Integer month) {
Calendar cal = Calendar.getInstance();
cal.setTime(now);
cal.set(2, cal.get(2) + month + NumberUtils.INTEGER_ONE);
cal.set(5, NumberUtils.INTEGER_ZERO);
return cal.getTime();
}
public static Date caculateFinallyDatebyDateType(Date date, int dateType, int dateNumber) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
switch(dateType) {
case 1:
calendar.add(dateType, dateNumber + 1);
calendar.set(2, 0);
calendar.set(5, NumberUtils.INTEGER_ZERO);
break;
case 2:
calendar.add(2, dateNumber + 1);
calendar.set(5, NumberUtils.INTEGER_ZERO);
break;
case 3:
case 4:
default:
throw new RuntimeException("dateType value error");
case 5:
calendar.add(5, dateNumber);
}
return calendar.getTime();
}
public static int compareTime(String dateTime1, String dateTime2) {
if (!StringUtils.isEmpty(dateTime1) && !StringUtils.isEmpty(dateTime1)) {
DateFormat df = null;
if (dateTime1.length() == 10 && dateTime2.length() == 10) {
df = new SimpleDateFormat("yyyy-MM-dd");
} else {
if (dateTime1.length() != 19 || dateTime2.length() != 19) {
return 2;
}
df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
}
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
try {
c1.setTime(df.parse(dateTime1));
c2.setTime(df.parse(dateTime2));
} catch (ParseException var6) {
System.err.println("格式不正确");
}
int result = c1.compareTo(c2);
return result;
} else {
return 2;
}
}
public static void main(String[] args) {
Date now = new Date();
String nowStr = dateTimeToStr(now);
System.out.println(nowStr);
Date fDate = caculateFinallyDatebyDateType(now, 10, 3);
System.out.println(dateTimeToStr(fDate));
}
}
java时间操作工具类的更多相关文章
- java/javascript 时间操作工具类
一.java 时间操作工具类 import org.springframework.util.StringUtils; import java.text.ParseException; import ...
- Java日期工具类,Java时间工具类,Java时间格式化
Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...
- 小记Java时间工具类
小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...
- JavaScript时间操作工具类
/** * 时间操作工具类 * * @author zwq * */ var TimeFrameUtil = { /** * 格式化日期 * @param date {Date} 日期 * @para ...
- docker 部署vsftpd服务、验证及java ftp操作工具类
docker部署vsftpd服务 新建ftp文件存储目录/home/ftp cd /home mkdir ftp 创建一个组,用于存放ftp用户 groupadd ftpgroups 创建ftp用户, ...
- Java时间处理类LocalDate和LocalDateTime常用方法
Java时间处理类LocalDate和LocalDateTime常用方法 https://blog.csdn.net/weixin_42579074/article/details/93721757
- Java时间转换类实现
Java时间类型非常的差,首先版本问题,本人使用java在Android平台开发.很多Data类的方法已经不提倡使用,一个时间,居然要使用Calendar.DateFormat等类共同编码,非常麻烦. ...
- 超详细的Java时间工具类
package com.td.util; import java.sql.Timestamp; import java.text.ParseException; import java.text.Pa ...
- JAVA文件操作工具类(读、增、删除、复制)
使用JAVA的JFinal框架 1.上传文件模型类UploadFile /** * Copyright (c) 2011-2017, James Zhan 詹波 (jfinal@126.com). * ...
随机推荐
- nginx防ddos配置
Nginx limit_zone与limit_req_zone (防DDOS攻击模块) http { limit_req_zone $binary_remote_addr zone=one:100m ...
- 带双反斜杠的Json数据至单反斜杠的Json数据处理
假如你光看标题,你只能哦呵呵了!我也看不懂.还是先描述下问题吧.这里是使用微信接口返回了一些数据.因为该串数据包含html标签所以TX是对该串数据进行了编码的.所有的数据是通过Unicode编码的,然 ...
- spring 3.0 整合redis
参考文章:https://blog.csdn.net/weixin_42184707/article/details/80361464 其中遇到了问题,第一,redis的xml配置文件中的,头部地址资 ...
- a 标签的跳转属性
a 标签中调用js的几种方法 我们常用的在a标签中有点击事件:1. a href="JavaScript:js_method();" 这是我们平台上常用的方法,但是这种方法在 ...
- 判断网站域名是否被GFW(墙)过滤屏蔽了
GFW:Greate Firewall Of China中国防火长城: 描述: 1.今天所属的一个域名被告诉不能访问了,赶紧自己测试了一下,发现可以,然后对方试了下说是不行,然后仔细按对方说的一步步操 ...
- CentOS7部署.Net Core2.0站点(上)
其实类似的教程网上已经有很多了,之所以要写,是应为发现在使用最新的centos7和.netcore2.1版本时还是遇到了不少坑,所以记录下,以后希望大家能少走弯路. 一.安装CentOS7 我是用虚拟 ...
- Azure 认知服务--计算机视觉 API - 分析图像
在本节中,笔者将详细介绍 Azure 认知服务中的一种:计算机视觉 (Computer Vision) API. 我的一个客户有需求,他们需要消费者与自己的产品合照,然后上传到服务器并转发到朋友圈. ...
- Oracle Spatial GIS相关研究
1.Oracle Spatial 概念相关 Oracle Spatial 是Oracle 数据库强大的核心特性,包含了用于存储矢量数据类型.栅格数据类型和持续拓扑数据类型的原生数据类型.Oracle ...
- php foreach遍历
foreach($facility_list['data'] as $facility){ //处理语句} 第一种格式遍历给定的 array_expression_r_r 数组.每次循环中,当前单元的 ...
- console.log出来的信息不一定是真的
一.问题 拿接口取值,明明this.props.chartsValue[0]已经返回json数据,结果this.props.chartsValue[0].history报错:无法获得undefined ...