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时间工具类的更多相关文章

  1. 基于Java8的日期时间工具类DateTimeFormatter

    原文:https://blog.csdn.net/qq_36596145/article/details/85331002 import java.time.Instant; import java. ...

  2. java8时间类API安全问题(赠送新的时间工具类哟)

    LocalDateTime等新出的日期类全是final修饰的类,不能被继承,且对应的日期变量都是final修饰的,也就是不可变类.赋值一次后就不可变,不存在多线程数据问题. simpleDateFor ...

  3. hutool的时间工具类

    hutool的时间工具类 糊涂的时间工具类有很多使用方法,用到了这几个 日期向后偏移     String now = DateUtil.now();        Date date4= DateU ...

  4. 代码片段:基于 JDK 8 time包的时间工具类 TimeUtil

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “知识的工作者必须成为自己时间的首席执行官.” 前言 这次泥瓦匠带来的是一个好玩的基于 JDK ...

  5. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  6. 小记Java时间工具类

    小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...

  7. 超详细的Java时间工具类

    package com.td.util; import java.sql.Timestamp; import java.text.ParseException; import java.text.Pa ...

  8. java时间工具类

    在项目中,很多地方需要根据时间获取相应的数据,将时间格式化,或者时间比较等相关操作.一个良好的工具类不仅可以减少代码冗余,还能促进业务处理,加快进度. /** * @author: lxw * @Da ...

  9. Apache Commons Lang之日期时间工具类

    码农不识Apache,码尽一生也枉然. FastDateFormat FastDateFormat是一个快速且线程安全的时间操作类,它完全可以替代SimpleDateFromat.因为是线程安全的,所 ...

随机推荐

  1. 模拟试题A

    模拟试题A 一.单项选择题(2′*12=24′) 1.下面各种坐标变换中,会产生变换前后维度的改变的是( ) A)建模变换 B)观察变换 C)投影变换 D)视口变换 2.下列描述深度缓冲消隐算法的特点 ...

  2. [Intermediate Algorithm] - Sum All Odd Fibonacci Numbers

    题目 给一个正整数num,返回小于或等于num的斐波纳契奇数之和. 斐波纳契数列中的前几个数字是 1.1.2.3.5 和 8,随后的每一个数字都是前两个数字之和. 例如,sumFibs(4)应该返回 ...

  3. Linux 内核剖解(转)

    Linux 内核剖析(转)  linux内核是一个庞大而复杂的操作系统的核心,不过尽管庞大,但是却采用子系统和分层的概念很好地进行了组织.在本文中,您将探索 Linux 内核的总体结构,并学习一些主要 ...

  4. paramiko模块学习笔记

    SSHClient 基于用户名密码连接 import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ss ...

  5. Selenium3+python自动化008-常用操作

    一.元素常用操作 1. clear()            清除文本 2. send_keys()        模拟输入 3. click()            单击元素 4.get_attr ...

  6. JS 100节楼梯,0-49节 分数等于节数 50以后(包括50)每节10分输入节数 得出分数

    var n = parseInt(prompt("请输入数值")); ; ; ){ ; i<n; i++) { sum = sum + i; } alert(sum); } ...

  7. php 单例模式与常驻服务

    运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收.也就是 说,PHP在语言级别上没有办法让某个对象常驻内存.在PHP中,所有的变量都是页面级的,无论是全局变量,还是类的静态成员,都会在 ...

  8. 路飞学城Python-Day107

    88-Ajax简介 Ajax是前端的JS技术,目前向服务器发送请求是通过1.向浏览器的地址栏发送请求的方式:2.form表单的请求方式是两种get和post方式:3.a标签的href属性对接地址 是一 ...

  9. KEEPALIVED+LVS+MYCAT实现MYSQL高可用环境搭建

    一.安装keepalived和ipvsadm 注意:ipvsadm并不是lvs,它只是lvs的配置工具. 为了方便起见,在这里我们使用yum的安装方式 分别在10.18.1.140和10.18.1.1 ...

  10. Linux Shell脚本编程-基础1

    概述:  shell脚本在Linux系统管理员的运维工作中非常重要.shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求.本篇将从编程基础 ...