DateUtil时间工具类
package utils; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar; public final class DateUtil{ /** 默认的年月日 */
public static final String defaultPattern = "yyyy-MM-dd"; /** hour12HMSPattern年月日 时分秒 12小时制*/
public static final String hour12HMSPattern = "yyyy-MM-dd hh:mm:ss"; /** hour12HMPattern年月日 时分 12小时制*/
public static final String hour12HMPattern = "yyyy-MM-dd hh:mm"; /** hour12HPattern年月日 时 12小时制*/
public static final String hour12HPattern = "yyyy-MM-dd hh"; /** hour24HMSPattern年月日 时分秒 24小时制 */
public static final String hour24HMSPattern = "yyyy-MM-dd HH:mm:ss"; /** hour24HMPattern年月日 时分 24小时制*/
public static final String hour24HMPattern = "yyyy-MM-dd HH:mm"; /** hour24HPattern年月日 时 24小时制*/
public static final String hour24HPattern = "yyyy-MM-dd HH"; public static String daysBetween(Date startDate, Date endDate) {
float d = endDate.getTime() - startDate.getTime();
float dd = d / 86400000f;
int ddd = (int)dd; float hh = (dd - ddd) * 24;
int hhh = (int)hh; float mm = (hh - hhh) * 60;
int mmm = (int)mm; float ss = (mm - mmm) * 60;
int sss = (int)ss;
return ddd + "天" + hhh + "小时" + mmm + "分" + sss + "秒";
} /**
* 返回预设Format的当前日期字符串
*/
public static String getToday() {
Date today = new Date();
return format(today);
} public static String getYestoday() {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(new Date());
cal1.add(Calendar.DATE, -1);
return format(cal1.getTime());
} public static String getTheDayBeforeYestoday() {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(new Date());
cal1.add(Calendar.DATE, -2);
return format(cal1.getTime());
} public static String getPreviousDay3() {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(new Date());
cal1.add(Calendar.DATE, -3);
return format(cal1.getTime());
} public static String getPreviousDay4() {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(new Date());
cal1.add(Calendar.DATE, -4);
return format(cal1.getTime());
} /**
* 用预设Format格式化Date成字符串
*/
public static String format(Date date) {
return format(date, defaultPattern);
} /**
* 使用参数Format格式化Date成字符串
*/
public static String format(Date date, String pattern) {
String returnValue = ""; if (date != null) {
SimpleDateFormat df = new SimpleDateFormat(pattern);
returnValue = df.format(date);
} return (returnValue);
} /**
* 使用预设格式将字符串转为Date
*/
public static Date parse(String strDate) throws ParseException {
return parse(strDate, defaultPattern);
} public static Date parse(String strDate, String pattern)
throws ParseException {
SimpleDateFormat df = new SimpleDateFormat(pattern);
return df.parse(strDate);
} /**
* 在日期上增加数个整月
*/
public static Date addMonth(Date date, int n) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.MONTH, n);
return cal.getTime();
} /**
* 在日期上增加日
*/
public static Date addDay(Date date, int n) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, n);
return cal.getTime();
} public static String formatDateTime(Date date) {
SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return outFormat.format(date);
} @SuppressWarnings("static-access")
public static String getEndOfMonth(String year, String month) {
Calendar cal = Calendar.getInstance();
cal.set(cal.YEAR, Integer.parseInt(year));
cal.set(cal.MONTH, Integer.parseInt(month) - 1);
return cal.getActualMaximum(cal.DAY_OF_MONTH) + "";
} public static String addDays(String sdate, int n) throws ParseException
{
Calendar cal1 = Calendar.getInstance();
cal1.setTime(parse(sdate, defaultPattern));
cal1.add(Calendar.DATE, n);
return format(cal1.getTime()); } public static String getFirstOfMonth() throws ParseException {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(new Date());
cal1.set(5, 1);
return format(cal1.getTime()); } public static String getFirstOfMonth(String sDate) throws ParseException {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(parse(sDate, defaultPattern));
cal1.set(5, 1);
return format(cal1.getTime()); } /**
* 获取年
*
* @param sdate
* @return String
*/
public static String getYear(String sdate) {
String[] date = sdate.split("-");
return date[0];
} /**
* 获取月
*
* @param sdate
* @return String
*/
public static String getMonth(String sdate) {
String[] date = sdate.split("-");
return date[1];
} public static String getCurrentYear() {
Calendar cale = Calendar.getInstance();
return Integer.toString(cale.get(Calendar.YEAR));
} public static String getCurrentMonth() {
Calendar cale = Calendar.getInstance();
int month = cale.get(Calendar.MONTH);
month++;
String sMonth = Integer.toString(month);
if (month < 10)
sMonth = "0" + month;
return sMonth;
} /**
* 获取天
*
* @param sdate
* @return String
*/
public static String getDay(String sdate) {
String[] date = sdate.split("-");
return date[2];
} public static String getFullDate(String date) {
if (date != null && date.length() == 1)
return "0" + date;
return date;
} public static String getSimpleDateString(String sdate) {
return sdate.replace("-", "");
} //把日期从字符弄转成日期型
public static Date convertStringToDate(String pattern, String strDate)
throws ParseException {
Date aDate = null;
aDate = parse(strDate, pattern);
return aDate;
} //根据指定格式得到当前日期的字符串
public static String getTodayDate(String aMask){
Date date = new Date();
return getDateTime(aMask,date);
} //根据指定格式得到指定日期的字符串
public static String getDateTime(String aMask, Date aDate) {
SimpleDateFormat df = null;
String returnValue = "";
df = new SimpleDateFormat(aMask);
returnValue = df.format(aDate);
return (returnValue);
} public static int getYear() {
Calendar c = Calendar.getInstance();
int yy = c.get(Calendar.YEAR);
return yy;
} public static int getMonth() {
Calendar c = Calendar.getInstance();
int month = c.get(Calendar.MONTH);
return month+1;
} public static int getDate() {
Calendar c = Calendar.getInstance();
int date = c.get(Calendar.DATE);
return date;
} public static int getHour() {
Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
return hour;
} public static int getSecond() {
Calendar c = Calendar.getInstance();
int second = c.get(Calendar.SECOND);
return second;
} public static int getMinute() {
Calendar c = Calendar.getInstance();
int minute = c.get(Calendar.MINUTE);
return minute;
} public static String getCurDateTime() {
return getCurDate() + " " + getCurTime();
} public static String getCurDate() {
String fullDate = getCurYearMonth();
int temp = getDate();
if(temp < 10){
fullDate += "-0" + temp;
}else{
fullDate += "-" + temp;
}
return fullDate;
} public static String getCurYearMonth() {
String fullDate = String.valueOf(getYear());
int temp = getMonth();
if(temp < 10){
fullDate += "-0" + temp;
}else{
fullDate += "-" + temp;
}
return fullDate;
} public static String getCurTime() {
String time = getCurHourMinute();
int temp = getSecond();
if(temp < 10){
time += ":0" + temp;
}else{
time += ":" + temp;
}
return time;
} public static String getCurHourMinute() {
String time;
int temp = getHour();
if(temp < 10){
time = "0" + temp + ":";
}else{
time = temp + ":";
}
temp = getMinute();
if(temp < 10){
time += "0" + temp;
}else{
time += temp;
}
return time;
}
/**
*
* @Description: 获取当前时间
* @param @return
* @return StringBuffer
* @throws
* @author ningpeng
* @date 2016年1月8日
*/
public static StringBuffer getNow()
{
Date date = new Date();
Calendar c = new GregorianCalendar();
c.setTime(date);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
int day = c.get(Calendar.DATE);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int seconds = c.get(Calendar.SECOND);
StringBuffer buff = new StringBuffer();
buff.append(year).append(month).append(day).append(hour).append(minute).append(seconds).toString();
return buff;
} public static String DateFormat(Date date) {
Calendar c=Calendar.getInstance();
c.setTime(date);
c.get(java.util.Calendar.HOUR_OF_DAY);
String pattern="yyyy-MM-dd";
if(c.get(java.util.Calendar.HOUR_OF_DAY)!=0){
pattern="yyyy-MM-dd hh";
}else if(c.get(java.util.Calendar.MINUTE)!=0){
pattern="yyyy-MM-dd hh:mm";
}else if(c.get(java.util.Calendar.SECOND)!=0){
pattern="yyyy-MM-dd hh:mm:ss";
}
return new SimpleDateFormat(pattern).format(date);
} public static void main(String[] args){
System.out.println(getMonth());
}
}
DateUtil时间工具类的更多相关文章
- 基于Java8的日期时间工具类DateTimeFormatter
原文:https://blog.csdn.net/qq_36596145/article/details/85331002 import java.time.Instant; import java. ...
- java8时间类API安全问题(赠送新的时间工具类哟)
LocalDateTime等新出的日期类全是final修饰的类,不能被继承,且对应的日期变量都是final修饰的,也就是不可变类.赋值一次后就不可变,不存在多线程数据问题. simpleDateFor ...
- hutool的时间工具类
hutool的时间工具类 糊涂的时间工具类有很多使用方法,用到了这几个 日期向后偏移 String now = DateUtil.now(); Date date4= DateU ...
- 代码片段:基于 JDK 8 time包的时间工具类 TimeUtil
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “知识的工作者必须成为自己时间的首席执行官.” 前言 这次泥瓦匠带来的是一个好玩的基于 JDK ...
- Java日期工具类,Java时间工具类,Java时间格式化
Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...
- 小记Java时间工具类
小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...
- 超详细的Java时间工具类
package com.td.util; import java.sql.Timestamp; import java.text.ParseException; import java.text.Pa ...
- java时间工具类
在项目中,很多地方需要根据时间获取相应的数据,将时间格式化,或者时间比较等相关操作.一个良好的工具类不仅可以减少代码冗余,还能促进业务处理,加快进度. /** * @author: lxw * @Da ...
- Apache Commons Lang之日期时间工具类
码农不识Apache,码尽一生也枉然. FastDateFormat FastDateFormat是一个快速且线程安全的时间操作类,它完全可以替代SimpleDateFromat.因为是线程安全的,所 ...
随机推荐
- Boost多线程-替换MFC线程
Mfc的多线程看起来简单,可以把线程直接压入向量,由系统类似进行调配,其实在内存的处理问题上留下了漏洞.在新线程里面载入大量流,会导致内存泄露. 方便之处:直接使用结构体传入函数参数,供 ...
- spring之interceptor篇
springmvc中要写一个拦截器非常的简单,有两种方式:要么实现HandlerInterceptor接口或者继承实现了该接口的类,如spring已经为我们写好的一个HandlerIntercepto ...
- jquery插件生成简单二维码
除了利用第三方网站生成二维码外,这是一个比较简单的办法吧. <script src="/Scripts/jquery.qrcode.min.js" type="te ...
- 脚本自动化部署varnish源码包
#!bin/bash#功能:自动化部署 varnish 源码包软件,运行脚本前,需提前下载 varnish-5.0.0.tar.gz#作者:liusingbonyum -y install gcc r ...
- spring cloud(一) eureka
spring cloud 注册中心 eureka 搭建过程 1.搭建eureka-server 服务端 1.1. 新建boot工程 pom引入依赖 <dependency> <gro ...
- 转载:rem的用法
本文属于转载,为尊重原作者的劳动成果,在此标注原文地址,点击此处浏览. 1.rem(font size of the root element)是指相对于根元素的字体大小的单位,em(font siz ...
- 洛谷P1850 换教室_数学期望_Floyd
调了一下午QAQ-让我对数学期望的理解又提升了一个层次. 首先,我们发现 v<=300v<=300v<=300 , 这样我们就可以用 FloydFloydFloyd 算法来 O(n3 ...
- Pyhton学习——Day3
# li = [1,12,9,"age","alex"]# #列表表示为[]括起来# #列表用","分割每个元素# #列表中的元素可以是数字 ...
- FFmpeg avcodec_send_packet压缩包函数
首先看一下FFmpeg关于该packet函数的注释: int avcodec_send_packet ( AVCodecContext * avctx, const AVPacket * ...
- 洛谷P1428 小鱼比可爱
题目描述 人比人,气死人:鱼比鱼,难死鱼.小鱼最近参加了一个"比可爱"比赛,比的是每只鱼的可爱程度.参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只 ...