java for date_Java之日期时间常用的公共方法UtilForDate

public class UtilForDate

{

/**

* 格式化日期

*

* @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);

date = (java.util.Date)df.parse(dateStr);

}

catch(java.text.ParseException e)

{

e.printStackTrace();

}

return date;

}

/**

* @param dateStr,默认格式为:yyyy/MM/dd

* @return Date

*/

public static java.util.Date parseDate(String dateStr)

{

return parseDate(dateStr, "yyyy/MM/dd");

}

/**

* 格式化输出日期

*

* @param date 日期

* @param format 格式

* @return 返回字符型日期

*/

public static String formatDate(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)

{

e.printStackTrace();

}

return result;

}

/**

* 格式化日期,默认格式:yyyy/MM/dd

*

* @param date 日期

* @return 返回字符型日期

*/

public static String format(java.util.Date date)

{

return formatDate(date, "yyyy/MM/dd");

}

/**

* 返回年份

*

* @param date 日期

* @return 返回年份

*/

public static int getYear(java.util.Date date)

{

java.util.Calendar calendar = java.util.Calendar.getInstance();

calendar.setTime(date);

return calendar.get(java.util.Calendar.YEAR);

}

/**

* 返回月份

*

* @param date 日期

* @return 返回月份

*/

public static int getMonth(java.util.Date date)

{

java.util.Calendar calendar = java.util.Calendar.getInstance();

calendar.setTime(date);

return calendar.get(java.util.Calendar.MONTH) + 1;

}

/**

* 返回日份

*

* @param date 日期

* @return 返回日份

*/

public static int getDay(java.util.Date date)

{

java.util.Calendar calendar = java.util.Calendar.getInstance();

calendar.setTime(date);

return calendar.get(java.util.Calendar.DAY_OF_MONTH);

}

/**

* 返回小时

*

* @param date 日期

* @return 返回小时

*/

public static int getHour(java.util.Date date)

{

java.util.Calendar calendar = java.util.Calendar.getInstance();

calendar.setTime(date);

return calendar.get(java.util.Calendar.HOUR_OF_DAY);

}

/**

* 返回分钟

*

* @param date 日期

* @return 返回分钟

*/

public static int getMinute(java.util.Date date)

{

java.util.Calendar calendar = java.util.Calendar.getInstance();

calendar.setTime(date);

return calendar.get(java.util.Calendar.MINUTE);

}

/**

* 返回秒钟

*

* @param date 日期

* @return 返回秒钟

*/

public static int getSecond(java.util.Date date)

{

java.util.Calendar calendar = java.util.Calendar.getInstance();

calendar.setTime(date);

return calendar.get(java.util.Calendar.SECOND);

}

/**

* 返回毫秒

*

* @param date 日期

* @return 返回毫秒

*/

public static long getMillis(java.util.Date date)

{

java.util.Calendar calendar = java.util.Calendar.getInstance();

calendar.setTime(date);

return calendar.getTimeInMillis();

}

/**

* 返回字符型日期

*

* @param date 日期

* @return 返回字符型日期

*/

public static String getDate(java.util.Date date)

{

return formatDate(date, "yyyy/MM/dd");

}

/**

* 返回字符型时间,格式默认为:HH:mm:ss

*

* @param date 日期

* @return 返回字符型时间

*/

public static String getTime(java.util.Date date)

{

return formatDate(date, "HH:mm:ss");

}

/**

* 返回字符型日期时间,格式默认为:yyyy/MM/dd HH:mm:ss

*

* @param date 日期

* @return 返回字符型日期时间

*/

public static String getDateAndTime(java.util.Date date)

{

return formatDate(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 calendar = java.util.Calendar.getInstance();

calendar.setTimeInMillis(getMillis(date) + ((long)day) * 24 * 3600 * 1000);

return calendar.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));

}

/**

* 取得指定月份的第一天

*

* @param strdate String

* @return String

*/

public static String getMonthBegin(String strdate)

{

java.util.Date date = parseDate(strdate);

return formatDate(date, "yyyy/MM") + "/01";

}

/**

* 取得指定月份的最后一天

*

* @param strdate String

* @return String

*/

public static String getMonthEnd(String strdate)

{

java.util.Date date = parseDate(getMonthBegin(strdate));

java.util.Calendar calendar = java.util.Calendar.getInstance();

calendar.setTime(date);

calendar.add(java.util.Calendar.MONTH, 1);

calendar.add(java.util.Calendar.DAY_OF_YEAR, -1);

return format(calendar.getTime());

}

/**

* 得到当前年份

* @return

*/

public static int getCurrYear()

{

return java.util.Calendar.getInstance().get(java.util.Calendar.YEAR);

}

/**

* 得到一年的总周数

*

* @param year

* @return

*/

public static int getWeekCountInYear(int year)

{

java.util.Calendar c = new java.util.GregorianCalendar();

c.set(year, java.util.Calendar.DECEMBER, 31, 23, 59, 59);

return getWeekOfYear(c.getTime());

}

/**

* 取得当前日期是多少周

*

* @param date

* @return

*/

public static int getWeekOfYear(java.util.Date date)

{

java.util.Calendar c = new java.util.GregorianCalendar();

c.setFirstDayOfWeek(java.util.Calendar.MONDAY);

c.setMinimalDaysInFirstWeek(7);

c.setTime(date);

return c.get(java.util.Calendar.WEEK_OF_YEAR);

}

/**

* 得到某年某周的第一天

*

* @param year

* @param week

* @return

*/

public static java.util.Date getFirstDayOfWeek(int year, int week)

{

java.util.Calendar c = new java.util.GregorianCalendar();

c.set(java.util.Calendar.YEAR, year);

c.set(java.util.Calendar.MONTH, java.util.Calendar.JANUARY);

c.set(java.util.Calendar.DATE, 1);

java.util.Calendar cal = (java.util.GregorianCalendar)c.clone();

cal.add(java.util.Calendar.DATE, week * 7);

return getFirstDayOfWeek(cal.getTime());

}

/**

* 得到某年某周的最后一天

*

* @param year

* @param week

* @return

*/

public static java.util.Date getLastDayOfWeek(int year, int week)

{

java.util.Calendar c = new java.util.GregorianCalendar();

c.set(java.util.Calendar.YEAR, year);

c.set(java.util.Calendar.MONTH, java.util.Calendar.JANUARY);

c.set(java.util.Calendar.DATE, 1);

java.util.Calendar cal = (java.util.GregorianCalendar)c.clone();

cal.add(java.util.Calendar.DATE, week * 7);

return getLastDayOfWeek(cal.getTime());

}

/**

* 得到某年某月的第一天

*

* @param year

* @param month

* @return

*/

public static java.util.Date getFirestDayOfMonth(int year, int month)

{

month = month - 1;

java.util.Calendar c = java.util.Calendar.getInstance();

c.set(java.util.Calendar.YEAR, year);

c.set(java.util.Calendar.MONTH, month);

int day = c.getActualMinimum(java.util.Calendar.DAY_OF_MONTH);

c.set(java.util.Calendar.DAY_OF_MONTH, day);

return c.getTime();

}

/**

* 提到某年某月的最后一天

*

* @param year

* @param month

* @return

*/

public static java.util.Date getLastDayOfMonth(int year, int month)

{

month = month - 1;

java.util.Calendar c = java.util.Calendar.getInstance();

c.set(java.util.Calendar.YEAR, year);

c.set(java.util.Calendar.MONTH, month);

int day = c.getActualMaximum(java.util.Calendar.DAY_OF_MONTH);

c.set(java.util.Calendar.DAY_OF_MONTH, day);

return c.getTime();

}

/**

* 取得当前日期所在周的第一天

*

* @param date

* @return 所在周的第一天的日期

*/

public static java.util.Date getFirstDayOfWeek(java.util.Date date)

{

java.util.Calendar c = new java.util.GregorianCalendar();

c.setFirstDayOfWeek(java.util.Calendar.MONDAY);

c.setTime(date);

c.set(java.util.Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday

return c.getTime();

}

/**

* 取得当前日期所在周的最后一天

*

* @param date

* @return 所在周最后一天的日期

*/

public static java.util.Date getLastDayOfWeek(java.util.Date date)

{

java.util.Calendar c = new java.util.GregorianCalendar();

c.setFirstDayOfWeek(java.util.Calendar.MONDAY);

c.setTime(date);

c.set(java.util.Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday

return c.getTime();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值