package utils;
import org.apache.commons.lang.time.DateUtils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
* Created by lightClouds917
* Date 2018/1/9
* Description:date util
*/
public class MyDateUtil {
/**test those methods*/
public static void main(String[] args) throws Exception{
Date date = int2Date(42237);
//Fri Aug 21 00:00:00 CST 2015
System.out.println(int2Date(42237));
//2015.8.21
System.out.println(getYearOrMonthOrDay(date,"year"));
//2015
System.out.println(getYearOrMonthOrDay(date,"month"));
//8
System.out.println(getYearOrMonthOrDay(date,"day"));
//21
Date dateByString1 = string2Date("2017.7.1");
System.out.println(dateByString1.toString());
//Sat Jul 01 00:00:00 CST 2017
System.out.println(date2String1(dateByString1));
//2017年7月1日
System.out.println(date2String2(dateByString1));
//2017-7-1
System.out.println(string2Date("2017-8-15"));
//Tue Aug 15 00:00:00 CST 2017
System.out.println(string2Date("2017年8月15日"));
//Tue Aug 15 00:00:00 CST 2017
System.out.println(getNowYear());
//2018
System.out.println(getNowMonth());
//3
}
/**
* int类型转为日期类
* 一般用于解析Excel
*
* parse date by int
* we use it always in parsing Excel
* @param dateNum
* @return
*/
public static Date int2Date(Integer dateNum){
Calendar calendar = new GregorianCalendar(1900,0,-1);
Date dateRe = DateUtils.addDays(calendar.getTime(),dateNum);
return dateRe;
}
/**
* get year or month or day from date which instance of Date
* @param date
* @param type
* @return
*/
public static Integer getYearOrMonthOrDay(Date date,String type){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
if("year".equals(type)){
return calendar.get(Calendar.YEAR);
}else if("month".equals(type)){
return calendar.get(Calendar.MONTH)+1;
}else if("day".equals(type)){
return calendar.get(Calendar.DAY_OF_MONTH);
}
return null;
}
/**
* parse String to Date
* @param str
* @return
* @throws Exception
*/
public static Date string2Date(String str) throws Exception{
Date date = null;
if(str.contains("/")){
str = str.replace("/","-");
}else if(str.contains(".")){
str = str.replace(".","-");
}else if(!str.contains("日") && str.contains("年") && str.contains("月")){
str = str.replace("年","-");
str = str.replace("月","");
}else if(str.contains("日") && str.contains("年") && str.contains("月")){
str = str.replace("年","-");
str = str.replace("月","-");
str = str.replace("日","");
}
try {
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
date = format1.parse(str);
}catch (Exception ex){
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM");
date = format2.parse(str);
}
return date;
}
/**
* parse Date to String eg:2017年7月1日
* @param date
* @return
*/
public static String date2String1(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
String str = calendar.get(Calendar.YEAR)+"年"+(calendar.get(Calendar.MONTH)+1)+"月"+calendar.get(Calendar.DAY_OF_MONTH)+"日";
return str;
}
/**
* parse Date to String eg:2017-7-1
* @param date
* @return
*/
public static String date2String2(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
String str = calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)+"-"+calendar.get(Calendar.DAY_OF_MONTH);
return str;
}
/**
* get now year eg:2018
*/
public static Integer getNowYear(){
Calendar cal = Calendar.getInstance();
int nowYear = cal.get(Calendar.YEAR);
return nowYear;
}
/**
* get now month eg:8
*/
public static Integer getNowMonth(){
Calendar cal = Calendar.getInstance();
int nowMonth = cal.get(Calendar.MONTH) + 1;
return nowMonth;
}
}
日期处理工具类
原创
©著作权归作者所有:来自51CTO博客作者wx63bcd38f3665b的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:fatal: No remote repository specified. Please, specify either a URL or a remote name from which new
下一篇:开通公众号啦

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java中封装的全局日期处理工具类
场景全局日期处理类。时间日期操作类,集成了大部分时间的应
java时间处理工具类 字符串 java 日期格式 -
获取日期处理JAVA工具类
package javatest;/********************************************
java日期 java 当前日期 架构师 -
日期工具类处理总结(全)
最近项目中用到了一些关于日期类和字符串类的处理,用到一次就得去写一次,后来想了想这样不光效率低还浪费
java 工具类 日期类 时间戳 工具方法 -
关于日期处理的工具类
import java.text.ParseException;
日期处理 java 工具类 字符串 时间段 -
C++文件处理工具类
C++文件处理工具类,hpp文件,使用时只需要include即可,跨平台
c++ #include ios ci