- 浏览: 94076 次
- 性别:
- 来自: 大连
最新评论
-
u010145702:
而且为什么我再修改完时间后,重启一下服务器就可以执行了,求指教 ...
定时器介绍与Spring中定时器的配置 -
u010145702:
那如果我把系统时间修改了,定时器到指定时间为什么不执行任务啊? ...
定时器介绍与Spring中定时器的配置 -
xiangyufangai:
lzstone 写道huatu122 写道老东西了,前几年就会 ...
基于apache的tomcat负载均衡和集群配置 -
oujunfeng:
表述得很清晰,并有大量的实例代码,支持!
基于apache的tomcat负载均衡和集群配置 -
ka520888:
帅哥..我配置了.怎么APACHE启不了 请加我qq52219 ...
基于apache的tomcat负载均衡和集群配置
import java.text.*;
import java.util.*;
public class DateUtil {
private static final int[] dayArray = new int[] { 31, 28, 31, 30, 31, 30,
31, 31, 30, 31, 30, 31 };
private static SimpleDateFormat sdf = new SimpleDateFormat();
public static synchronized Calendar getCalendar() {
return GregorianCalendar.getInstance();
}
/**
* @return String
*/
public static synchronized String getDateMilliFormat() {
Calendar cal = Calendar.getInstance();
return getDateMilliFormat(cal);
}
/**
* @param cal
* @return String
*/
public static synchronized String getDateMilliFormat(java.util.Calendar cal) {
String pattern = "yyyy-MM-dd HH:mm:ss,SSS";
return getDateFormat(cal, pattern);
}
/**
* @param date
* @return String
*/
public static synchronized String getDateMilliFormat(java.util.Date date) {
String pattern = "yyyy-MM-dd HH:mm:ss,SSS";
return getDateFormat(date, pattern);
}
/**
* @param strDate
* @return java.util.Calendar
*/
public static synchronized Calendar parseCalendarMilliFormat(String strDate) {
String pattern = "yyyy-MM-dd HH:mm:ss,SSS";
return parseCalendarFormat(strDate, pattern);
}
/**
* @param strDate
* @return java.util.Date
*/
public static synchronized Date parseDateMilliFormat(String strDate) {
String pattern = "yyyy-MM-dd HH:mm:ss,SSS";
return parseDateFormat(strDate, pattern);
}
/**
* @return String
*/
public static synchronized String getDateSecondFormat() {
Calendar cal = Calendar.getInstance();
return getDateSecondFormat(cal);
}
/**
* @param cal
* @return String
*/
public static synchronized String getDateSecondFormat(java.util.Calendar cal) {
String pattern = "yyyy-MM-dd HH:mm:ss";
return getDateFormat(cal, pattern);
}
/**
* @param date
* @return String
*/
public static synchronized String getDateSecondFormat(java.util.Date date) {
String pattern = "yyyy-MM-dd HH:mm:ss";
return getDateFormat(date, pattern);
}
/**
* @param strDate
* @return java.util.Calendar
*/
public static synchronized Calendar parseCalendarSecondFormat(String strDate) {
String pattern = "yyyy-MM-dd HH:mm:ss";
return parseCalendarFormat(strDate, pattern);
}
/**
* @param strDate
* @return java.util.Date
*/
public static synchronized Date parseDateSecondFormat(String strDate) {
String pattern = "yyyy-MM-dd HH:mm:ss";
return parseDateFormat(strDate, pattern);
}
/**
* @return String
*/
public static synchronized String getDateMinuteFormat() {
Calendar cal = Calendar.getInstance();
return getDateMinuteFormat(cal);
}
/**
* @param cal
* @return String
*/
public static synchronized String getDateMinuteFormat(java.util.Calendar cal) {
String pattern = "yyyy-MM-dd HH:mm";
return getDateFormat(cal, pattern);
}
/**
* @param date
* @return String
*/
public static synchronized String getDateMinuteFormat(java.util.Date date) {
String pattern = "yyyy-MM-dd HH:mm";
return getDateFormat(date, pattern);
}
/**
* @param strDate
* @return java.util.Calendar
*/
public static synchronized Calendar parseCalendarMinuteFormat(String strDate) {
String pattern = "yyyy-MM-dd HH:mm";
return parseCalendarFormat(strDate, pattern);
}
/**
* @param strDate
* @return java.util.Date
*/
public static synchronized Date parseDateMinuteFormat(String strDate) {
String pattern = "yyyy-MM-dd HH:mm";
return parseDateFormat(strDate, pattern);
}
/**
* @return String
*/
public static synchronized String getDateDayFormat() {
Calendar cal = Calendar.getInstance();
return getDateDayFormat(cal);
}
/**
* @param cal
* @return String
*/
public static synchronized String getDateDayFormat(java.util.Calendar cal) {
String pattern = "yyyy-MM-dd";
return getDateFormat(cal, pattern);
}
/**
* @param date
* @return String
*/
public static synchronized String getDateDayFormat(java.util.Date date) {
String pattern = "yyyy-MM-dd";
return getDateFormat(date, pattern);
}
/**
* @param strDate
* @return java.util.Calendar
*/
public static synchronized Calendar parseCalendarDayFormat(String strDate) {
String pattern = "yyyy-MM-dd";
return parseCalendarFormat(strDate, pattern);
}
/**
* @param strDate
* @return java.util.Date
*/
public static synchronized Date parseDateDayFormat(String strDate) {
String pattern = "yyyy-MM-dd";
return parseDateFormat(strDate, pattern);
}
/**
* @return String
*/
public static synchronized String getDateFileFormat() {
Calendar cal = Calendar.getInstance();
return getDateFileFormat(cal);
}
/**
* @param cal
* @return String
*/
public static synchronized String getDateFileFormat(java.util.Calendar cal) {
String pattern = "yyyy-MM-dd_HH-mm-ss";
return getDateFormat(cal, pattern);
}
/**
* @param date
* @return String
*/
public static synchronized String getDateFileFormat(java.util.Date date) {
String pattern = "yyyy-MM-dd_HH-mm-ss";
return getDateFormat(date, pattern);
}
/**
* @param strDate
* @return java.util.Calendar
*/
public static synchronized Calendar parseCalendarFileFormat(String strDate) {
String pattern = "yyyy-MM-dd_HH-mm-ss";
return parseCalendarFormat(strDate, pattern);
}
/**
* @param strDate
* @return java.util.Date
*/
public static synchronized Date parseDateFileFormat(String strDate) {
String pattern = "yyyy-MM-dd_HH-mm-ss";
return parseDateFormat(strDate, pattern);
}
/**
* @return String
*/
public static synchronized String getDateW3CFormat() {
Calendar cal = Calendar.getInstance();
return getDateW3CFormat(cal);
}
/**
* @param cal
* @return String
*/
public static synchronized String getDateW3CFormat(java.util.Calendar cal) {
String pattern = "yyyy-MM-dd HH:mm:ss";
return getDateFormat(cal, pattern);
}
/**
* @param date
* @return String
*/
public static synchronized String getDateW3CFormat(java.util.Date date) {
String pattern = "yyyy-MM-dd HH:mm:ss";
return getDateFormat(date, pattern);
}
/**
* @param strDate
* @return java.util.Calendar
*/
public static synchronized Calendar parseCalendarW3CFormat(String strDate) {
String pattern = "yyyy-MM-dd HH:mm:ss";
return parseCalendarFormat(strDate, pattern);
}
/**
* @param strDate
* @return java.util.Date
*/
public static synchronized Date parseDateW3CFormat(String strDate) {
String pattern = "yyyy-MM-dd HH:mm:ss";
return parseDateFormat(strDate, pattern);
}
/**
* @param cal
* @return String
*/
public static synchronized String getDateFormat(java.util.Calendar cal) {
String pattern = "yyyy-MM-dd HH:mm:ss";
return getDateFormat(cal, pattern);
}
/**
* @param date
* @return String
*/
public static synchronized String getDateFormat(java.util.Date date) {
String pattern = "yyyy-MM-dd HH:mm:ss";
return getDateFormat(date, pattern);
}
/**
* @param strDate
* @return java.util.Calendar
*/
public static synchronized Calendar parseCalendarFormat(String strDate) {
String pattern = "yyyy-MM-dd HH:mm:ss";
return parseCalendarFormat(strDate, pattern);
}
/**
* @param strDate
* @return java.util.Date
*/
public static synchronized Date parseDateFormat(String strDate) {
String pattern = "yyyy-MM-dd HH:mm:ss";
return parseDateFormat(strDate, pattern);
}
/**
* @param cal
* @param pattern
* @return String
*/
public static synchronized String getDateFormat(java.util.Calendar cal,
String pattern) {
return getDateFormat(cal.getTime(), pattern);
}
/**
* @param date
* @param pattern
* @return String
*/
public static synchronized String getDateFormat(java.util.Date date,
String pattern) {
synchronized (sdf) {
String str = null;
sdf.applyPattern(pattern);
str = sdf.format(date);
return str;
}
}
/**
* @param strDate
* @param pattern
* @return java.util.Calendar
*/
public static synchronized Calendar parseCalendarFormat(String strDate,
String pattern) {
synchronized (sdf) {
Calendar cal = null;
sdf.applyPattern(pattern);
try {
sdf.parse(strDate);
cal = sdf.getCalendar();
} catch (Exception e) {
}
return cal;
}
}
/**
* @param strDate
* @param pattern
* @return java.util.Date
*/
public static synchronized Date parseDateFormat(String strDate,
String pattern) {
synchronized (sdf) {
Date date = null;
sdf.applyPattern(pattern);
try {
date = sdf.parse(strDate);
} catch (Exception e) {
}
return date;
}
}
public static synchronized int getLastDayOfMonth(int month) {
if (month < 1 || month > 12) {
return -1;
}
int retn = 0;
if (month == 2) {
if (isLeapYear()) {
retn = 29;
} else {
retn = dayArray[month - 1];
}
} else {
retn = dayArray[month - 1];
}
return retn;
}
public static synchronized int getLastDayOfMonth(int year, int month) {
if (month < 1 || month > 12) {
return -1;
}
int retn = 0;
if (month == 2) {
if (isLeapYear(year)) {
retn = 29;
} else {
retn = dayArray[month - 1];
}
} else {
retn = dayArray[month - 1];
}
return retn;
}
public static synchronized boolean isLeapYear() {
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
return isLeapYear(year);
}
public static synchronized boolean isLeapYear(int year) {
/**
* 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
* 3.能被4整除同时能被100整除则不是闰年
*/
if ((year % 400) == 0)
return true;
else if ((year % 4) == 0) {
if ((year % 100) == 0)
return false;
else
return true;
} else
return false;
}
/**
* 判断指定日期的年份是否是闰年
*
* @param date
* 指定日期。
* @return 是否闰年
*/
public static synchronized boolean isLeapYear(java.util.Date date) {
/**
* 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
* 3.能被4整除同时能被100整除则不是闰年
*/
// int year = date.getYear();
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
int year = gc.get(Calendar.YEAR);
return isLeapYear(year);
}
public static synchronized boolean isLeapYear(java.util.Calendar gc) {
/**
* 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
* 3.能被4整除同时能被100整除则不是闰年
*/
int year = gc.get(Calendar.YEAR);
return isLeapYear(year);
}
/**
* 得到指定日期的前一个工作日
*
* @param date
* 指定日期。
* @return 指定日期的前一个工作日
*/
public static synchronized java.util.Date getPreviousWeekDay(
java.util.Date date) {
{
/**
* 详细设计: 1.如果date是星期日,则减3天 2.如果date是星期六,则减2天 3.否则减1天
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
return getPreviousWeekDay(gc);
// switch ( gc.get( Calendar.DAY_OF_WEEK ) )
// {
// case ( Calendar.MONDAY ):
// gc.add( Calendar.DATE, -3 );
// break;
// case ( Calendar.SUNDAY ):
// gc.add( Calendar.DATE, -2 );
// break;
// default:
// gc.add( Calendar.DATE, -1 );
// break;
// }
// return gc.getTime();
}
}
public static synchronized java.util.Date getPreviousWeekDay(
java.util.Calendar gc) {
{
/**
* 详细设计: 1.如果date是星期日,则减3天 2.如果date是星期六,则减2天 3.否则减1天
*/
switch (gc.get(Calendar.DAY_OF_WEEK)) {
case (Calendar.MONDAY ):
gc.add(Calendar.DATE, -3);
break;
case (Calendar.SUNDAY ):
gc.add(Calendar.DATE, -2);
break;
default:
gc.add(Calendar.DATE, -1);
break;
}
return gc.getTime();
}
}
/**
* 得到指定日期的后一个工作日
*
* @param date
* 指定日期。
* @return 指定日期的后一个工作日
*/
public static synchronized java.util.Date getNextWeekDay(java.util.Date date) {
/**
* 详细设计: 1.如果date是星期五,则加3天 2.如果date是星期六,则加2天 3.否则加1天
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
switch (gc.get(Calendar.DAY_OF_WEEK)) {
case (Calendar.FRIDAY ):
gc.add(Calendar.DATE, 3);
break;
case (Calendar.SATURDAY ):
gc.add(Calendar.DATE, 2);
break;
default:
gc.add(Calendar.DATE, 1);
break;
}
return gc.getTime();
}
public static synchronized java.util.Calendar getNextWeekDay(
java.util.Calendar gc) {
/**
* 详细设计: 1.如果date是星期五,则加3天 2.如果date是星期六,则加2天 3.否则加1天
*/
switch (gc.get(Calendar.DAY_OF_WEEK)) {
case (Calendar.FRIDAY ):
gc.add(Calendar.DATE, 3);
break;
case (Calendar.SATURDAY ):
gc.add(Calendar.DATE, 2);
break;
default:
gc.add(Calendar.DATE, 1);
break;
}
return gc;
}
/**
* 取得指定日期的下一个月的最后一天
*
* @param date
* 指定日期。
* @return 指定日期的下一个月的最后一天
*/
public static synchronized java.util.Date getLastDayOfNextMonth(
java.util.Date date) {
/**
* 详细设计: 1.调用getNextMonth设置当前时间 2.以1为基础,调用getLastDayOfMonth
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
gc.setTime(DateUtil.getNextMonth(gc.getTime()));
gc.setTime(DateUtil.getLastDayOfMonth(gc.getTime()));
return gc.getTime();
}
/**
* 取得指定日期的下一个星期的最后一天
*
* @param date
* 指定日期。
* @return 指定日期的下一个星期的最后一天
*/
public static synchronized java.util.Date getLastDayOfNextWeek(
java.util.Date date) {
/**
* 详细设计: 1.调用getNextWeek设置当前时间 2.以1为基础,调用getLastDayOfWeek
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
gc.setTime(DateUtil.getNextWeek(gc.getTime()));
gc.setTime(DateUtil.getLastDayOfWeek(gc.getTime()));
return gc.getTime();
}
/**
* 取得指定日期的下一个月的第一天
*
* @param date
* 指定日期。
* @return 指定日期的下一个月的第一天
*/
public static synchronized java.util.Date getFirstDayOfNextMonth(
java.util.Date date) {
/**
* 详细设计: 1.调用getNextMonth设置当前时间 2.以1为基础,调用getFirstDayOfMonth
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
gc.setTime(DateUtil.getNextMonth(gc.getTime()));
gc.setTime(DateUtil.getFirstDayOfMonth(gc.getTime()));
return gc.getTime();
}
public static synchronized java.util.Calendar getFirstDayOfNextMonth(
java.util.Calendar gc) {
/**
* 详细设计: 1.调用getNextMonth设置当前时间 2.以1为基础,调用getFirstDayOfMonth
*/
gc.setTime(DateUtil.getNextMonth(gc.getTime()));
gc.setTime(DateUtil.getFirstDayOfMonth(gc.getTime()));
return gc;
}
/**
* 取得指定日期的下一个星期的第一天
*
* @param date
* 指定日期。
* @return 指定日期的下一个星期的第一天
*/
public static synchronized java.util.Date getFirstDayOfNextWeek(
java.util.Date date) {
/**
* 详细设计: 1.调用getNextWeek设置当前时间 2.以1为基础,调用getFirstDayOfWeek
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
gc.setTime(DateUtil.getNextWeek(gc.getTime()));
gc.setTime(DateUtil.getFirstDayOfWeek(gc.getTime()));
return gc.getTime();
}
public static synchronized java.util.Calendar getFirstDayOfNextWeek(
java.util.Calendar gc) {
/**
* 详细设计: 1.调用getNextWeek设置当前时间 2.以1为基础,调用getFirstDayOfWeek
*/
gc.setTime(DateUtil.getNextWeek(gc.getTime()));
gc.setTime(DateUtil.getFirstDayOfWeek(gc.getTime()));
return gc;
}
/**
* 取得指定日期的下一个月
*
* @param date
* 指定日期。
* @return 指定日期的下一个月
*/
public static synchronized java.util.Date getNextMonth(java.util.Date date) {
/**
* 详细设计: 1.指定日期的月份加1
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
gc.add(Calendar.MONTH, 1);
return gc.getTime();
}
public static synchronized java.util.Calendar getNextMonth(
java.util.Calendar gc) {
/**
* 详细设计: 1.指定日期的月份加1
*/
gc.add(Calendar.MONTH, 1);
return gc;
}
/**
* 取得指定日期的下一天
*
* @param date
* 指定日期。
* @return 指定日期的下一天
*/
public static synchronized java.util.Date getNextDay(java.util.Date date) {
/**
* 详细设计: 1.指定日期加1天
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
gc.add(Calendar.DATE, 1);
return gc.getTime();
}
public static synchronized java.util.Calendar getNextDay(
java.util.Calendar gc) {
/**
* 详细设计: 1.指定日期加1天
*/
gc.add(Calendar.DATE, 1);
return gc;
}
/**
* 取得指定日期的下一个星期
*
* @param date
* 指定日期。
* @return 指定日期的下一个星期
*/
public static synchronized java.util.Date getNextWeek(java.util.Date date) {
/**
* 详细设计: 1.指定日期加7天
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
gc.add(Calendar.DATE, 7);
return gc.getTime();
}
public static synchronized java.util.Calendar getNextWeek(
java.util.Calendar gc) {
/**
* 详细设计: 1.指定日期加7天
*/
gc.add(Calendar.DATE, 7);
return gc;
}
/**
* 取得指定日期的所处星期的最后一天
*
* @param date
* 指定日期。
* @return 指定日期的所处星期的最后一天
*/
public static synchronized java.util.Date getLastDayOfWeek(
java.util.Date date) {
/**
* 详细设计: 1.如果date是星期日,则加6天 2.如果date是星期一,则加5天 3.如果date是星期二,则加4天
* 4.如果date是星期三,则加3天 5.如果date是星期四,则加2天 6.如果date是星期五,则加1天
* 7.如果date是星期六,则加0天
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
switch (gc.get(Calendar.DAY_OF_WEEK)) {
case (Calendar.SUNDAY ):
gc.add(Calendar.DATE, 6);
break;
case (Calendar.MONDAY ):
gc.add(Calendar.DATE, 5);
break;
case (Calendar.TUESDAY ):
gc.add(Calendar.DATE, 4);
break;
case (Calendar.WEDNESDAY ):
gc.add(Calendar.DATE, 3);
break;
case (Calendar.THURSDAY ):
gc.add(Calendar.DATE, 2);
break;
case (Calendar.FRIDAY ):
gc.add(Calendar.DATE, 1);
break;
case (Calendar.SATURDAY ):
gc.add(Calendar.DATE, 0);
break;
}
return gc.getTime();
}
/**
* 取得指定日期的所处星期的第一天
*
* @param date
* 指定日期。
* @return 指定日期的所处星期的第一天
*/
public static synchronized java.util.Date getFirstDayOfWeek(
java.util.Date date) {
/**
* 详细设计: 1.如果date是星期日,则减0天 2.如果date是星期一,则减1天 3.如果date是星期二,则减2天
* 4.如果date是星期三,则减3天 5.如果date是星期四,则减4天 6.如果date是星期五,则减5天
* 7.如果date是星期六,则减6天
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
switch (gc.get(Calendar.DAY_OF_WEEK)) {
case (Calendar.SUNDAY ):
gc.add(Calendar.DATE, 0);
break;
case (Calendar.MONDAY ):
gc.add(Calendar.DATE, -1);
break;
case (Calendar.TUESDAY ):
gc.add(Calendar.DATE, -2);
break;
case (Calendar.WEDNESDAY ):
gc.add(Calendar.DATE, -3);
break;
case (Calendar.THURSDAY ):
gc.add(Calendar.DATE, -4);
break;
case (Calendar.FRIDAY ):
gc.add(Calendar.DATE, -5);
break;
case (Calendar.SATURDAY ):
gc.add(Calendar.DATE, -6);
break;
}
return gc.getTime();
}
public static synchronized java.util.Calendar getFirstDayOfWeek(
java.util.Calendar gc) {
/**
* 详细设计: 1.如果date是星期日,则减0天 2.如果date是星期一,则减1天 3.如果date是星期二,则减2天
* 4.如果date是星期三,则减3天 5.如果date是星期四,则减4天 6.如果date是星期五,则减5天
* 7.如果date是星期六,则减6天
*/
switch (gc.get(Calendar.DAY_OF_WEEK)) {
case (Calendar.SUNDAY ):
gc.add(Calendar.DATE, 0);
break;
case (Calendar.MONDAY ):
gc.add(Calendar.DATE, -1);
break;
case (Calendar.TUESDAY ):
gc.add(Calendar.DATE, -2);
break;
case (Calendar.WEDNESDAY ):
gc.add(Calendar.DATE, -3);
break;
case (Calendar.THURSDAY ):
gc.add(Calendar.DATE, -4);
break;
case (Calendar.FRIDAY ):
gc.add(Calendar.DATE, -5);
break;
case (Calendar.SATURDAY ):
gc.add(Calendar.DATE, -6);
break;
}
return gc;
}
/**
* 取得指定日期的所处月份的最后一天
*
* @param date
* 指定日期。
* @return 指定日期的所处月份的最后一天
*/
public static synchronized java.util.Date getLastDayOfMonth(
java.util.Date date) {
/**
* 详细设计: 1.如果date在1月,则为31日 2.如果date在2月,则为28日 3.如果date在3月,则为31日
* 4.如果date在4月,则为30日 5.如果date在5月,则为31日 6.如果date在6月,则为30日
* 7.如果date在7月,则为31日 8.如果date在8月,则为31日 9.如果date在9月,则为30日
* 10.如果date在10月,则为31日 11.如果date在11月,则为30日 12.如果date在12月,则为31日
* 1.如果date在闰年的2月,则为29日
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
switch (gc.get(Calendar.MONTH)) {
case 0:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
case 1:
gc.set(Calendar.DAY_OF_MONTH, 28);
break;
case 2:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
case 3:
gc.set(Calendar.DAY_OF_MONTH, 30);
break;
case 4:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
case 5:
gc.set(Calendar.DAY_OF_MONTH, 30);
break;
case 6:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
case 7:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
case 8:
gc.set(Calendar.DAY_OF_MONTH, 30);
break;
case 9:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
case 10:
gc.set(Calendar.DAY_OF_MONTH, 30);
break;
case 11:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
}
// 检查闰年
if ((gc.get(Calendar.MONTH) == Calendar.FEBRUARY)
&& (isLeapYear(gc.get(Calendar.YEAR)))) {
gc.set(Calendar.DAY_OF_MONTH, 29);
}
return gc.getTime();
}
public static synchronized java.util.Calendar getLastDayOfMonth(
java.util.Calendar gc) {
/**
* 详细设计: 1.如果date在1月,则为31日 2.如果date在2月,则为28日 3.如果date在3月,则为31日
* 4.如果date在4月,则为30日 5.如果date在5月,则为31日 6.如果date在6月,则为30日
* 7.如果date在7月,则为31日 8.如果date在8月,则为31日 9.如果date在9月,则为30日
* 10.如果date在10月,则为31日 11.如果date在11月,则为30日 12.如果date在12月,则为31日
* 1.如果date在闰年的2月,则为29日
*/
switch (gc.get(Calendar.MONTH)) {
case 0:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
case 1:
gc.set(Calendar.DAY_OF_MONTH, 28);
break;
case 2:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
case 3:
gc.set(Calendar.DAY_OF_MONTH, 30);
break;
case 4:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
case 5:
gc.set(Calendar.DAY_OF_MONTH, 30);
break;
case 6:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
case 7:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
case 8:
gc.set(Calendar.DAY_OF_MONTH, 30);
break;
case 9:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
case 10:
gc.set(Calendar.DAY_OF_MONTH, 30);
break;
case 11:
gc.set(Calendar.DAY_OF_MONTH, 31);
break;
}
// 检查闰年
if ((gc.get(Calendar.MONTH) == Calendar.FEBRUARY)
&& (isLeapYear(gc.get(Calendar.YEAR)))) {
gc.set(Calendar.DAY_OF_MONTH, 29);
}
return gc;
}
/**
* 取得指定日期的所处月份的第一天
*
* @param date
* 指定日期。
* @return 指定日期的所处月份的第一天
*/
public static synchronized java.util.Date getFirstDayOfMonth(
java.util.Date date) {
/**
* 详细设计: 1.设置为1号
*/
GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
gc.setTime(date);
gc.set(Calendar.DAY_OF_MONTH, 1);
return gc.getTime();
}
public static synchronized java.util.Calendar getFirstDayOfMonth(
java.util.Calendar gc) {
/**
* 详细设计: 1.设置为1号
*/
gc.set(Calendar.DAY_OF_MONTH, 1);
return gc;
}
/**
* 将日期对象转换成为指定ORA日期、时间格式的字符串形式。如果日期对象为空,返回 一个空字符串对象,而不是一个空对象。
*
* @param theDate
* 将要转换为字符串的日期对象。
* @param hasTime
* 如果返回的字符串带时间则为true
* @return 转换的结果
*/
public static synchronized String toOraString(Date theDate, boolean hasTime) {
/**
* 详细设计: 1.如果有时间,则设置格式为getOraDateTimeFormat()的返回值
* 2.否则设置格式为getOraDateFormat()的返回值 3.调用toString(Date theDate, DateFormat
* theDateFormat)
*/
DateFormat theFormat;
if (hasTime) {
theFormat = getOraDateTimeFormat();
} else {
theFormat = getOraDateFormat();
}
return toString(theDate, theFormat);
}
/**
* 将日期对象转换成为指定日期、时间格式的字符串形式。如果日期对象为空,返回 一个空字符串对象,而不是一个空对象。
*
* @param theDate
* 将要转换为字符串的日期对象。
* @param hasTime
* 如果返回的字符串带时间则为true
* @return 转换的结果
*/
public static synchronized String toString(Date theDate, boolean hasTime) {
/**
* 详细设计: 1.如果有时间,则设置格式为getDateTimeFormat的返回值 2.否则设置格式为getDateFormat的返回值
* 3.调用toString(Date theDate, DateFormat theDateFormat)
*/
DateFormat theFormat;
if (hasTime) {
theFormat = getDateTimeFormat();
} else {
theFormat = getDateFormat();
}
return toString(theDate, theFormat);
}
/**
* 标准日期格式
*/
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat(
"MM/dd/yyyy");
/**
* 标准时间格式
*/
private static final SimpleDateFormat DATE_TIME_FORMAT = new SimpleDateFormat(
"MM/dd/yyyy HH:mm");
/**
* 带时分秒的标准时间格式
*/
private static final SimpleDateFormat DATE_TIME_EXTENDED_FORMAT = new SimpleDateFormat(
"MM/dd/yyyy HH:mm:ss");
/**
* ORA标准日期格式
*/
private static final SimpleDateFormat ORA_DATE_FORMAT = new SimpleDateFormat(
"yyyyMMdd");
/**
* ORA标准时间格式
*/
private static final SimpleDateFormat ORA_DATE_TIME_FORMAT = new SimpleDateFormat(
"yyyyMMddHHmm");
/**
* 带时分秒的ORA标准时间格式
*/
private static final SimpleDateFormat ORA_DATE_TIME_EXTENDED_FORMAT = new SimpleDateFormat(
"yyyyMMddHHmmss");
/**
* 创建一个标准日期格式的克隆
*
* @return 标准日期格式的克隆
*/
public static synchronized DateFormat getDateFormat() {
/**
* 详细设计: 1.返回DATE_FORMAT
*/
SimpleDateFormat theDateFormat = (SimpleDateFormat) DATE_FORMAT.clone();
theDateFormat.setLenient(false);
return theDateFormat;
}
/**
* 创建一个标准时间格式的克隆
*
* @return 标准时间格式的克隆
*/
public static synchronized DateFormat getDateTimeFormat() {
/**
* 详细设计: 1.返回DATE_TIME_FORMAT
*/
SimpleDateFormat theDateTimeFormat = (SimpleDateFormat) DATE_TIME_FORMAT
.clone();
theDateTimeFormat.setLenient(false);
return theDateTimeFormat;
}
/**
* 创建一个标准ORA日期格式的克隆
*
* @return 标准ORA日期格式的克隆
*/
public static synchronized DateFormat getOraDateFormat() {
/**
* 详细设计: 1.返回ORA_DATE_FORMAT
*/
SimpleDateFormat theDateFormat = (SimpleDateFormat) ORA_DATE_FORMAT
.clone();
theDateFormat.setLenient(false);
return theDateFormat;
}
/**
* 创建一个标准ORA时间格式的克隆
*
* @return 标准ORA时间格式的克隆
*/
public static synchronized DateFormat getOraDateTimeFormat() {
/**
* 详细设计: 1.返回ORA_DATE_TIME_FORMAT
*/
SimpleDateFormat theDateTimeFormat = (SimpleDateFormat) ORA_DATE_TIME_FORMAT
.clone();
theDateTimeFormat.setLenient(false);
return theDateTimeFormat;
}
/**
* 将一个日期对象转换成为指定日期、时间格式的字符串。 如果日期对象为空,返回一个空字符串,而不是一个空对象。
*
* @param theDate
* 要转换的日期对象
* @param theDateFormat
* 返回的日期字符串的格式
* @return 转换结果
*/
public static synchronized String toString(Date theDate,
DateFormat theDateFormat) {
/**
* 详细设计: 1.theDate为空,则返回"" 2.否则使用theDateFormat格式化
*/
if (theDate == null)
return "";
return theDateFormat.format(theDate);
}
}
发表评论
-
使用jconsole远程监控linux下tomcat使用情况
2014-03-25 10:29 854JDK 64位 tomcat catalina.s ... -
图片等比压缩
2011-04-15 14:23 1529好久没有写博客了,最近遇到一个有意思的问题就是需要动态的将用户 ... -
JavaMail发送邮件具有附件功能
2010-08-13 12:25 1294protected void doPost( ... -
iBATIS3中管理SqlSession类
2010-05-26 14:36 5078public class IbatisSessionFacto ... -
基于apache的tomcat负载均衡和集群配置
2010-05-26 14:29 5747基于apache的tomcat负载均衡和集群配置 1】 下 ... -
定时器介绍与Spring中定时器的配置
2010-04-27 16:33 71391定时器的作用 在实际的开发中,如果项目中需要定时执行或 ... -
struts2的配置文件global-results注意事项
2010-04-10 11:09 14391struts.xml <struts> ... -
struts2中default.properties说明
2010-04-09 13:23 25391、struts.configuration=org.apac ... -
防止页面刷新产生二次提交的Token
2010-03-19 10:11 27921、自己感觉strut1的Token不是很好用,也许是我没有用 ... -
java利用list写分页
2010-03-19 10:04 26041、分页的属性模型 public class PageVo ... -
获取时间日期
2010-03-19 09:59 919private static final String[] w ... -
写的一个jxl处理excel流程
2010-03-19 09:52 13101、vo-》数据库表模型 public class ... -
java对zip文件进行解压并取出文件的名称
2010-03-19 09:02 17031、先用JDK的类进行ZIP文 ... -
同为mssql的驱动jar差别怎么那么大呢
2010-03-15 12:38 1361现在java连接sql server数据库流行的 ... -
proxool的配置方法
2010-03-13 18:32 1718因为工作需要进行proxool链接sql ... -
钟爱apache的我,dbcp让我伤心
2010-03-13 16:53 1793从知道tomcat开始我就对apac ... -
让tomcat 输出详细的错误信息
2010-03-12 13:56 7890当项目中加入一些框架的时候,例如hibernate,s ... -
在java中对文件夹的拷贝和删除
2010-03-12 10:56 1496在java中对文件与文件目录的操作主要集中在java.io包, ... -
java 调用sql server 2000 存储结构进行数据库的备份与恢复
2010-03-12 10:47 1330熟悉Java的程序员一看标题感觉会很彪,java与sql se ... -
利用spring+hibernate配置dbcp连接池配置的异常解析
2010-03-12 10:34 5818利用spring+hibernate配置dbcp连接池配置过程 ...
相关推荐
Java中的DateUtil时间工具类是开发者在处理日期和时间时常用的一个自定义工具类。它通常包含了一系列静态方法,用于简化Java内置的日期和时间API的使用,提高代码的可读性和可维护性。在实际开发中,由于Java 8之前...
包含日期偏移、生日计算、某个时间年月、是否是今天、计算第几周、时间差、比较大小以及间隔等常用业务时间计算方法、
`DateUtil.zip`文件包含了一个名为`DateUtil.java`的类,该类提供了多种处理日期和时间的方法,便于开发者在项目中进行时间操作。下面我们将详细探讨`DateUtil`类中的关键知识点。 首先,`DateUtil`类可能包含一个...
此类封装了常用的日期格式化字符串,并提供了一些静态方法来简化日期时间的操作。 #### 二、核心功能 1. **日期格式化**:`DateUtil`通过不同的格式化模式(如`yyyy-MM-dd HH:mm:ss`)将日期对象转换为指定格式的...
`DateUtil`工具类通常包含了对日期进行格式化、解析、比较等常用功能,使得在Android项目中处理日期变得更加便捷。 在Java中,日期对象主要由`java.util.Date`类表示,而日期格式化则依赖于`java.text....
`dateutil`库提供了高级日期和时间处理功能,扩展了Python内置的datetime模块。安装相对简单,直接使用pip即可: ```bash pip install python_dateutil ``` 最后,`pyparsing`是一个解析表达式工具包,常用于构建...
7. **时区处理**:考虑到全球时间的复杂性,DateUtil可能有处理时区转换的方法,如`toUTC`或`toLocalTime`。 8. **日期时间的克隆和复制**:有时我们需要创建Date对象的副本,而不改变原始对象,`cloneDate`方法...
比较全面的工具类,包含了某个日期某个月之后的日期以及日期间的比较以及常用的日期时间方法
综上所述,在Android开发中获取系统时间有两种常用的方法:使用`Time`类和使用`Calendar`类。其中,`Time`类更适合对性能要求较高的场景,如Widget应用;而`Calendar`类则提供更加丰富的功能和灵活性。开发者可以...
本文将基于标题“Java中对日期的常用处理(转)”来深入探讨Java中的日期处理,结合`DateUtil.java`这个文件名,我们可以推测这是一个包含日期处理工具类的源代码文件。 首先,Java中处理日期的最基础类是`java....
下面将详细介绍Hutool在日期时间处理、I/O操作、字符串处理和集合框架方面的常用方法。 1. 日期时间处理 Hutool提供了DateUtil和LocalDateTimeUtil类来处理日期和时间。DateUtil可以方便地操作Date类型的数据,例如...
总的来说,时间处理封装方法的核心是将常用的时间操作抽象成独立的函数或类,提高代码的复用性。理解并熟练运用Python的`time`、`datetime`以及相关库,能够帮助开发者高效地处理时间相关的任务,从而提升软件的质量...
`dateutil.parser.parse()`方法能够智能解析多种格式的日期和时间字符串,使得处理非标准日期格式变得更加灵活。例如,它可以解析带有时间、时区信息,甚至带有缩写的日期字符串。下面是一些使用`parse()`方法的例子...
`calendar`和`dateutil`模块提供了丰富的功能来帮助我们处理日期和时间。这篇文章将深入探讨这两个模块的使用方法。 首先,`calendar`模块是Python的标准库之一,它提供了许多与日历相关的功能,如打印日历、获取...
而第三方库`dateutil`提供了更加灵活的时间解析方法。例如,`dateutil.parser.parse`函数能够解析各种不同格式的日期字符串,并自动将月和日的位置解释正确,即使输入的是“月-日-年”格式,它也能正确解析。此外,`...
3. **日期时间比较**:`DateUtil.before(date1, date2)`和`DateUtil.after(date1, date2)`方法可以判断两个日期时间的先后关系。 ```java public static boolean before(Date d1, Date d2) { return d1.compareTo...
它提供了一系列用于创建、格式化和操作日期时间对象的方法。以下是一些关键的函数和类: - **datetime.datetime.now()**:获取当前的日期和时间。 - **datetime.datetime.today()**:类似于 `now()`,但返回一个...
#### 方法二:使用 `dateutil.parser` 和 `datetime` 模块解析并转换时间 如果需要处理的是已知格式的 UTC 字符串,可以使用 `dateutil.parser` 模块中的 `parse()` 函数进行解析,再结合 `datetime.timedelta` ...
- `DateUtil`提供了处理日期和时间的实用方法。这可能包括日期格式化 (`format()`),解析日期字符串 (`parse()`),获取当前日期和时间 (`now()`),计算日期之间的差值 (`difference()`) 等。 - 可能还支持处理时区...