📄 dateutil.java
字号:
/*
* 创建日期 2005-11-21
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package com.haven.sinopec.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Hashtable;
import java.util.List;
import org.apache.commons.lang.StringUtils;
/**
* @author sjm
*
* TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class DateUtil {
public static String getWeekOfMonth() {
Calendar cal = Calendar.getInstance();
return String.valueOf(cal.get(Calendar.WEEK_OF_MONTH));
}
public static int getWeekOfYear() {
Hashtable ht = new Hashtable();
ht.put("2006", "2005-12-31");
ht.put("2007", "2006-12-30");
ht.put("2008", "2007-12-29");
ht.put("2009", "2009-01-03");
ht.put("2010", "2010-01-02");
ht.put("2011", "2011-01-01");
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 7);
String year = String.valueOf(cal.get(Calendar.YEAR));
String Sdate = (String) ht.get(year);
int yy = cal.get(Calendar.YEAR);
String years = String.valueOf(yy);
int mm = cal.get(Calendar.MONTH) + 1;
String months = fillZero(mm, 2);
int ddd = cal.get(Calendar.DAY_OF_MONTH);
String days = fillZero(ddd, 2);
String Edate = years + "-" + months + "-" + days;
long d = getCompareDate(Sdate, Edate);
int dd = (int) (d / 7);
return Integer.parseInt(year + String.valueOf(dd));
}
public static int getThisWeekOfYear() {
Hashtable ht = new Hashtable();
ht.put("2006", "2005-12-31");
ht.put("2007", "2006-12-30");
ht.put("2008", "2007-12-29");
ht.put("2009", "2009-01-03");
ht.put("2010", "2010-01-02");
ht.put("2011", "2011-01-01");
Calendar cal = Calendar.getInstance();
//cal.add(Calendar.DATE, 7);
//String week = String.valueOf(cal.get(Calendar.WEEK_OF_YEAR));
String year = String.valueOf(cal.get(Calendar.YEAR));
String Sdate = (String) ht.get(year);
String Edate = getDateYYYY_MM_DD();
long d = getCompareDate(Sdate, Edate);
int dd = (int) (d / 7);
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){
dd--;
}
return Integer.parseInt(year + String.valueOf(dd));
}
public static String getMonthOfYear() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, 1);
String month = String.valueOf(cal.get(Calendar.MONTH) + 1);
String year = String.valueOf(cal.get(Calendar.YEAR));
return year + "-" + month;
}
public static String getNextWeekStartDate() {
//取下个星期的开始日期,用星期六作为一周的开始
Calendar calendar = Calendar.getInstance();
int old = calendar.get(Calendar.DAY_OF_WEEK);
//将日期定位到下周六
if (7 == old) {
old = 0;
}
calendar.add(Calendar.DATE, 7 - old);
String syear, smonth, sday;
syear = String.valueOf(calendar.get(Calendar.YEAR));
smonth = fillZero(calendar.get(Calendar.MONTH) + 1, 2);
sday = fillZero(calendar.get(Calendar.DATE), 2);
return syear + "-" + smonth + "-" + sday;
}
public static String getNextWeekEndDate() {
//取下个星期的结束日期,用星期六作为一周的开始
Calendar calendar = Calendar.getInstance();
String eyear, emonth, eday;
int old = calendar.get(Calendar.DAY_OF_WEEK);
//将日期定位到下周六
if (7 == old) {
old = 0;
}
calendar.add(Calendar.DATE, 7 - old);
//将日期定位到下个星期五
calendar.add(Calendar.DATE, 6);
eyear = String.valueOf(calendar.get(Calendar.YEAR));
emonth = fillZero(calendar.get(Calendar.MONTH) + 1, 2);
eday = fillZero(calendar.get(Calendar.DATE), 2);
return eyear + "-" + emonth + "-" + eday;
}
public static String getWeekDay(String startdate, int delta) {
Calendar cal = Calendar.getInstance();
Date olddate;
try {
SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = bartDateFormat.parse(startdate);
cal.setTime(d1);
cal.add(Calendar.DATE, delta);
String eyear = String.valueOf(cal.get(Calendar.YEAR));
String emonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
String eday = fillZero(cal.get(Calendar.DATE), 2);
return eyear + "-" + emonth + "-" + eday;
} catch (Exception e) {
return null;
}
}
public static String geTodayAndTomorrowTimeQuantum() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
String tyear = String.valueOf(cal.get(Calendar.YEAR));
String tmonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
String tday = fillZero(cal.get(Calendar.DATE), 2);
String Today = tyear + "年" + tmonth + "月" + tday + "日" + "8:00";
cal.add(Calendar.DATE, 1);
String eyear = String.valueOf(cal.get(Calendar.YEAR));
String emonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
String eday = fillZero(cal.get(Calendar.DATE), 2);
String Tomorrow = eyear + "年" + emonth + "月" + eday + "日" + "8:00";
return Today + "----" + Tomorrow;
}
public static String geTimeQuantum() {
Calendar cal = Calendar.getInstance();
String tyear = String.valueOf(cal.get(Calendar.YEAR));
String tmonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
String tday = fillZero(cal.get(Calendar.DATE), 2);
String Today = tyear + "年" + tmonth + "月" + tday + "日" + "8:00";
cal.add(Calendar.DATE, 1);
String eyear = String.valueOf(cal.get(Calendar.YEAR));
String emonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
String eday = fillZero(cal.get(Calendar.DATE), 2);
String Tomorrow = eyear + "年" + emonth + "月" + eday + "日" + "8:00";
return Today + "----" + Tomorrow;
}
public static String getTomorrowYYYY_MM_DD() {
Calendar cal = Calendar.getInstance();
String Today = getDateYYYY_MM_DD();
cal.add(Calendar.DATE, 1);
String eyear = String.valueOf(cal.get(Calendar.YEAR));
String emonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
String eday = fillZero(cal.get(Calendar.DATE), 2);
String Tomorrow = eyear + "-" + emonth + "-" + eday;
return Tomorrow;
}
public static String getNTomorrowYYYY_MM_DD() {
Calendar cal = Calendar.getInstance();
String Today = getDateYYYY_MM_DD();
cal.add(Calendar.DATE, 2);
String eyear = String.valueOf(cal.get(Calendar.YEAR));
String emonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
String eday = fillZero(cal.get(Calendar.DATE), 2);
String Tomorrow = eyear + "-" + emonth + "-" + eday;
return Tomorrow;
}
public static String getDateYYYY_MM_DD_HH_MM() {
Calendar cal = Calendar.getInstance();
int yy = cal.get(Calendar.YEAR);
String years = String.valueOf(yy);
int mm = cal.get(Calendar.MONTH) + 1;
String months = fillZero(mm, 2);
int dd = cal.get(Calendar.DAY_OF_MONTH);
String days = fillZero(dd, 2);
int hh = cal.get(Calendar.HOUR_OF_DAY);
String hours = fillZero(hh, 2);
int ms = cal.get(Calendar.MINUTE);
String minutes = fillZero(ms, 2);
return years + "-" + months + "-" + days + " " + hours + ":" + minutes;
}
public static String getDateYYYY_MM_DD() {
Calendar cal = Calendar.getInstance();
int yy = cal.get(Calendar.YEAR);
String years = String.valueOf(yy);
int mm = cal.get(Calendar.MONTH) + 1;
String months = fillZero(mm, 2);
int dd = cal.get(Calendar.DAY_OF_MONTH);
String days = fillZero(dd, 2);
return years + "-" + months + "-" + days;
}
public static int getDaysInMonth(String ym) {
String yms[] = StringUtils.split(ym, "-");
int year = Integer.parseInt(yms[0]);
int month = Integer.parseInt(yms[1]);
int days = 0;
if (0 == (month % 2)) {
if (month > 7) {
days = 31;
} else {
if (month == 2) {
if (((year % 100) == 0) || ((year % 4) == 0)) {
days = 29;
} else {
days = 28;
}
} else {
days = 30;
}
}
} else {
if (month > 8) {
days = 30;
} else {
days = 31;
}
}
return days;
}
private static String fillZero(int value, int len) {
String surfix = "";
switch (len) {
case 2:
if (value < 10) {
surfix = "0";
}
break;
case 3:
if (value < 100 && value >= 10) {
surfix = "0";
} else if (value < 10) {
surfix = "00";
}
break;
}
return surfix + String.valueOf(value);
}
public static String getDateYYYY() {
Calendar cal = Calendar.getInstance();
int yy = cal.get(Calendar.YEAR);
String years = String.valueOf(yy);
return years;
}
public static String getDateMM() {
Calendar cal = Calendar.getInstance();
int mm = cal.get(Calendar.MONTH) + 1;
String months = fillZero(mm, 2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -