Java日期操作方法讲解与实现

页面导航:首页 > 软件编程 > Java编程 > Java日期操作方法讲解与实现

Java日期操作方法讲解与实现

来源: 作者: 时间:2016-01-21 09:39 【

日期操作方法讲解与实现 取得指定月份的第一天与取得指定月份的最后一天 *** 取得指定月份的第一天** @param strdate String* @return String* public String getMonthBegin(String strdate)

日期操作方法讲解与实现

 

取得指定月份的第一天与取得指定月份的最后一天
/**
* 取得指定月份的第一天
*
* @param strdate String
* @return String
*/
public String getMonthBegin(String strdate)
{
java.util.Date date = parseFormatDate(strdate);
return formatDateByFormat(date,yyyy-MM) + -01;
}

/**
* 取得指定月份的最后一天
*
* @param strdate String
* @return String
*/
public String getMonthEnd(String strdate)
{
java.util.Date date = parseFormatDate(getMonthBegin(strdate));
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH,1);
calendar.add(Calendar.DAY_OF_YEAR, -1);
return formatDate(calendar.getTime());
}

/**
* 常用的格式化日期
*
* @param date Date
* @return String
*/
public String formatDate(java.util.Date date)
{
return formatDateByFormat(date,yyyy-MM-dd);
}

/**
* 以指定的格式来格式化日期
*
* @param date Date
* @param format String
* @return String
*/
public String formatDateByFormat(java.util.Date date,String format)
{
String result = ;
if(date != null)
{
try
{
SimpleDateFormat sdf = new SimpleDateFormat(format);
result = sdf.format(date);
}
catch(Exception ex)
{
LOGGER.info(date: + date);
ex.printStackTrace();
}
}
return result;
}
//---------------------------------------------------------------

package com.app.util;

/**
* 日期操作
*
* @author xxx
* @version 2.0 jdk1.4.0 tomcat5.1.0 * Updated Date:2005/03/10
*/
public class DateUtil {
/**
* 格式化日期
*
* @param dateStr
* 字符型日期
* @param format
* 格式
* @return 返回日期
*/
public static java.util.Date parseDate(String dateStr, String format) {
java.util.Date date = null;
try {
java.text.DateFormat df = new java.text.SimpleDateFormat(format);
String dt=Normal.parse(dateStr).replaceAll(
-, /);
if((!dt.equals())&&(dt.length() dt+=format.substring(dt.length()).replaceAll([YyMmDdHhSs],0);
}
date = (java.util.Date) df.parse(dt);
} catch (Exception e) {
}
return date;
}

public static java.util.Date parseDate(String dateStr) {
return parseDate(dateStr, yyyy/MM/dd);
}

public static java.util.Date parseDate(java.sql.Date date) {
return date;
}

public static java.sql.Date parseSqlDate(java.util.Date date) {
if (date != null)
return new java.sql.Date(date.getTime());
else
return null;
}

public static java.sql.Date parseSqlDate(String dateStr, String format) {
java.util.Date date = parseDate(dateStr, format);
return parseSqlDate(date);
}

public static java.sql.Date parseSqlDate(String dateStr) {
return parseSqlDate(dateStr, yyyy/MM/dd);
}


public static java.sql.Timestamp parseTimestamp(String dateStr,
String format) {
java.util.Date date = parseDate(dateStr, format);
if (date != null) {
long t = date.getTime();
return new java.sql.Timestamp(t);
} else
return null;
}

public static java.sql.Timestamp parseTimestamp(String dateStr) {
return parseTimestamp(dateStr, yyyy/MM/dd HH:mm:ss);
}

/**
* 格式化输出日期
*
* @param date
* 日期
* @param format
* 格式
* @return 返回字符型日期
*/
public static String format(java.util.Date date, String format) {
String result = ;
try {
if (date != null) {
java.text.DateFormat df = new java.text.SimpleDateFormat(format);
result = df.format(date);
}
} catch (Exception e) {
}
return result;
}

public static String format(java.util.Date date) {
return format(date, yyyy/MM/dd);
}

/**
* 返回年份
*
* @param date
* 日期
* @return 返回年份
*/
public static int getYear(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.YEAR);
}

/**
* 返回月份
*
* @param date
* 日期
* @return 返回月份
*/
public static int getMonth(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.MONTH) + 1;
}

/**
* 返回日份
*
* @param date
* 日期
* @return 返回日份
*/
public static int getDay(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.DAY_OF_MONTH);
}

/**
* 返回小时
*
* @param date
* 日期
* @return 返回小时
*/
public static int getHour(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.HOUR_OF_DAY);
}

/**
* 返回分钟
*
* @param date
* 日期
* @return 返回分钟
*/
public static int getMinute(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.MINUTE);
}

/**
* 返回秒钟
*
* @param date
* 日期
* @return 返回秒钟
*/
public static int getSecond(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.get(java.util.Calendar.SECOND);
}

/**
* 返回毫秒
*
* @param date
* 日期
* @return 返回毫秒
*/
public static long getMillis(java.util.Date date) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTime(date);
return c.getTimeInMillis();
}

/**
* 返回字符型日期
*
* @param date
* 日期
* @return 返回字符型日期
*/
public static String getDate(java.util.Date date) {
return format(date, yyyy/MM/dd);
}

/**
* 返回字符型时间
*
* @param date
* 日期
* @return 返回字符型时间
*/
public static String getTime(java.util.Date date) {
return format(date, HH:mm:ss);
}

/**
* 返回字符型日期时间
*
* @param date
* 日期
* @return 返回字符型日期时间
*/
public static String getDateTime(java.util.Date date) {
return format(date, yyyy/MM/dd HH:mm:ss);
}

/**
* 日期相加
*
* @param date
* 日期
* @param day
* 天数
* @return 返回相加后的日期
*/
public static java.util.Date addDate(java.util.Date date, int day) {
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTimeInMillis(getMillis(date) + ((long) day) * 24 * 3600 * 1000);
return c.getTime();
}

/**
* 日期相减
*
* @param date
* 日期
* @param date1
* 日期
* @return 返回相减后的日期
*/
public static int diffDate(java.util.Date date, java.util.Date date1) {
return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000));
}
}
我来个简单点的,也许有点用
Calendar now = Calendar.getInstance();
int year = now.get(Calendar.YEAR);
int date = now.get(Calendar.DAY_OF_MONTH);
int month = now.get(Calendar.MONTH) + 1;
int hour = now.get(Calendar.HOUR);
int min = now.get(Calendar.MINUTE);
int sec = now.get(Calendar.SECOND);

在最近的一个OA中,我需要判断两个日期是否是同一周,根据一个给定的日期获得所属周的周一和周五的日期。

在完成以上任务时,我发现Calendar 的确是一个功能强大的class。

 

/package com.elink.util;
/
//*
/ *

Company: 凌科软件 www.elinksoft.com


/ * @author liubaojun
/ * @version 1.0
/ * Created on 2004-11-29
/ * 来源于 elinkBSP (业务架构平台) 部分源代码
/ */
/
/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 );
/ }
/}
/
/

 

Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<