📄 dateutils.java
字号:
package com.intohotel.util;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class DateUtils {
public static String formatDateTime(Date date,String format){
if (date==null) return "";
if (format==null) return date.toString();
DateFormat df = new SimpleDateFormat(format);
return df.format(date);
}
public static String formatY0M0D(Date date){
return date==null?"":formatDateTime(date,"yyyyMMdd");
}
public static String formatYMD(Date date){
return date==null?"":formatDateTime(date,"yyyy-MM-dd");
}
public static String formatYMDHM(Date date){
return date==null?"":formatDateTime(date,"yyyy-MM-dd HH:mm");
}
public static String formatDateTimeByDate(Date date){
return date==null?"":formatDateTime(date,"yyyy-MM-dd HH:mm:ss");
}
public static boolean showNew(Date time){
if (time==null) return false;
return DateUtils.addDays(time,3).compareTo(new Date())>=0;
}
public static Date addDays(Date srcDate, int addDays)
{
return getNextDayCurrDay(srcDate,addDays);
}
public static Date addMinutes(Date srcDate, int minutes)
{
Calendar cal = Calendar.getInstance();
cal.setTime(srcDate);
cal.add(Calendar.MINUTE, minutes);
return cal.getTime();
}
public static Date getNextDayCurrDay(Date currDate,int i){
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(currDate);
gc.add(GregorianCalendar.DATE, i);
return gc.getTime();
}
public static int getCurrDay(){
Calendar now = Calendar.getInstance();
return now.get(Calendar.DAY_OF_WEEK);
}
/**
* 字符串转化为日期
* @param str 被转化的字符串
* @param format 转化格式
* @return 返回日期
* @throws ParseException
* @author sys53
* @serialData 2007-11-03
*/
public static Date StrToDate(String str,String format){
try{
if(StringUtil.isEmpty(format))
format = "yyyy-MM-dd";
java.text.SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.parse(str);
}catch(ParseException pe){
return null;
}
}
/**
* 字符串转化为日期,默认格式为:yyyy-MM-dd
* @param str
* @return
* @throws ParseException
*/
public static Date StrToDate(String str){
return StrToDate(str,"yyyy-MM-dd");
}
public static long getNumOfDays(String date1,String date2){
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date d1;
try {
d1 = df.parse(date1);
Date d2 = df.parse(date2);
long diff = Math.abs(d2.getTime()-d1.getTime());
return (long)(diff/(1000*60*60*24));
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
/**
* 断判两个日期之间时差是否在5分钟以上
* @param d1 日期1
* @param d2 日期2
* @return 返回true两个日期之间相差5分钟以上,false相差十分钟以内.
*/
public static boolean compare(Date d1,Date d2)
{
if((d2.getTime()-d1.getTime())>600000l){
return true;
}
return false;
}
/**
* 获取某天是星期几
* @param d
* @return
*/
@SuppressWarnings("deprecation")
public static String getTheDay(Date d){
return "日一二三四五六".charAt(d.getDay())+"";
}
/**
* 获取得某年的第几周的起始日期和结束日期
* @param year 年份
* @param week 第几周
* @return String 数组, [0] 起始日期 [1] 结束日期
*/
public static String [] weekDate(int year ,int week){
if(week<1||week>52)return null;
String s [] = new String [2];
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.WEEK_OF_YEAR, week);
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
s[0] = formatYMD(c.getTime());
c.add(Calendar.DATE, 6);
s[1] = formatYMD(c.getTime());
return s;
}
/**
* 获取得某年的第几月的起始日期和结束日期
* @param year 年份
* @param month 第几月
* @return String 数组, [0] 起始日期 [1] 结束日期
*/
public static String [] monthDate(int year ,int month){
if(month<1||month>12) return null;
String s [] = new String [2];
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month-1);
c.set(Calendar.DAY_OF_MONTH, 1);
s[0] = formatYMD(c.getTime());
c.add(Calendar.MONTH, 1);
c.add(Calendar.DATE, -1);
s[1] = formatYMD(c.getTime());
return s;
}
/**
* 获取得某年的第几季度的起始日期和结束日期
* @param year 年份
* @param season 第几季
* @return String 数组, [0] 起始日期 [1] 结束日期
*/
public static String [] seasonDate(int year ,int season){
if(season<1||season>4)return null;
String y= String.valueOf(year);
String []s = new String [2];
switch(season){
case 1 : s[0]= y+"-01-01";s[1]= y+"-03-31";break;
case 2 : s[0]= y+"-04-01";s[1]= y+"-06-30";break;
case 3 : s[0]= y+"-07-01";s[1]= y+"-09-30";break;
case 4 : s[0]= y+"-10-01";s[1]= y+"-12-31";break;
}
return s;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -