d023b51090109c35a40caf5c6661ac7edcb408e2.svn-base 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package com.chinacreator.videoalliance.order.util;
  2. import org.apache.log4j.Logger;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Calendar;
  6. import java.util.Date;
  7. /**
  8. * DateFormat.SHORT: 07-2-1 <br>
  9. * DateFormat.MEDIUM: 2007-2-1 <br>
  10. * DateFormat.LONG: 2007年2月1日 <br>
  11. * DateFormat.FULL: 2007年2月1日 星期四 <br>
  12. *
  13. * @author 周振华
  14. *
  15. */
  16. public class DateUtil {
  17. private static final Logger log = Logger.getLogger(DateUtil.class);
  18. /**
  19. * 获取某个月份的最后的一天
  20. *
  21. * @param date
  22. * @return
  23. */
  24. public static Date getLastDateOfMonth(Date date) {
  25. Calendar calendar = Calendar.getInstance();
  26. calendar.setTime(date);
  27. calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
  28. return calendar.getTime();
  29. }
  30. /**
  31. * 获得该月的最后一天
  32. *
  33. * @param yearMonth
  34. * 年年年年月月
  35. * @return
  36. */
  37. public static String getLastDateOfMonth(String yearMonth) {
  38. Calendar c = Calendar.getInstance();
  39. int year = c.get(Calendar.YEAR);
  40. int month = c.get(Calendar.MONTH);
  41. int date = c.get(Calendar.DATE);
  42. try {
  43. year = Integer.parseInt(yearMonth.substring(0, 4));
  44. month = Integer.parseInt(yearMonth.substring(4, 6)) - 1;
  45. date = c.get(Calendar.DATE);
  46. } catch (Exception e) {
  47. // 出现异常默认当前月
  48. year = c.get(Calendar.YEAR);
  49. month = c.get(Calendar.MONTH);
  50. date = c.get(Calendar.DATE);
  51. }
  52. c.set(year, month, date);
  53. return String.valueOf(c.getActualMaximum(Calendar.DAY_OF_MONTH));
  54. }
  55. /**
  56. * 获取当月的最后一天
  57. *
  58. * @return
  59. */
  60. public static int getLastDayOfCurrMonth() {
  61. Calendar c = Calendar.getInstance();
  62. int year = c.get(Calendar.YEAR);
  63. int month = c.get(Calendar.MONTH);
  64. int date = c.get(Calendar.DATE);
  65. c.set(year, month, date);
  66. return c.getActualMaximum(Calendar.DAY_OF_MONTH);
  67. }
  68. /**
  69. * 把日期从String类型转化为date类型
  70. * @param date
  71. * @param format
  72. * @return
  73. */
  74. public static Date getDate(String date,String format){
  75. Date dt = null;
  76. try {
  77. dt = new SimpleDateFormat(format).parse(date);
  78. } catch (ParseException e) {
  79. log.error("要格式化的日期字符串格式不正确: "+format + date);
  80. }
  81. return dt;
  82. }
  83. /**
  84. * 日期转换成字符串,如果需转换的日期为NULL,则返回为NULL(默认格式为日期)
  85. *
  86. * @param date
  87. * Date 需转换的日期
  88. * @return String 日期字符串
  89. */
  90. public static String formatMedium(Date date,String format) {
  91. SimpleDateFormat sdf = new SimpleDateFormat(format);
  92. return sdf.format(date);
  93. }
  94. public static String format(Date date,String format) {
  95. SimpleDateFormat sdf = new SimpleDateFormat(format);
  96. return sdf.format(date);
  97. }
  98. /**
  99. * 获得当月的第一天
  100. * @return
  101. */
  102. public static String getFirstDay(String format) {
  103. Calendar calendar = Calendar.getInstance();
  104. calendar.setTime(new Date());
  105. calendar.set(Calendar.DAY_OF_MONTH, 1);
  106. return formatMedium(calendar.getTime(),format);
  107. }
  108. public static void main(String[] args) {
  109. }
  110. }