DataUill.java 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. package com.huimv.admin.common.utils;
  2. import com.alibaba.fastjson.JSONObject;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6. public class DataUill {
  7. // 获得当天0点时间
  8. public static Date getTimesmorning() {
  9. Calendar cal = Calendar.getInstance();
  10. cal.set(Calendar.HOUR_OF_DAY, 0);
  11. cal.set(Calendar.SECOND, 0);
  12. cal.set(Calendar.MINUTE, 0);
  13. cal.set(Calendar.MILLISECOND, 0);
  14. return cal.getTime();
  15. }
  16. // 获得昨天0点时间
  17. public static Date getYesterdaymorning() {
  18. Calendar cal = Calendar.getInstance();
  19. cal.setTimeInMillis(getTimesmorning().getTime()-3600*24*1000);
  20. return cal.getTime();
  21. }
  22. // 获得当天近7天时间
  23. public static Date getWeekFromNow() {
  24. Calendar cal = Calendar.getInstance();
  25. cal.setTimeInMillis( getTimesmorning().getTime()-3600*24*1000*7);
  26. return cal.getTime();
  27. }
  28. // 获得当天24点时间
  29. public static Date getTimesnight() {
  30. Calendar cal = Calendar.getInstance();
  31. cal.set(Calendar.HOUR_OF_DAY, 24);
  32. cal.set(Calendar.SECOND, 0);
  33. cal.set(Calendar.MINUTE, 0);
  34. cal.set(Calendar.MILLISECOND, 0);
  35. return cal.getTime();
  36. }
  37. // 获得本周一0点时间
  38. public static Date getTimesWeekmorning() {
  39. Calendar cal = Calendar.getInstance();
  40. cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
  41. cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
  42. return cal.getTime();
  43. }
  44. // 获得本周日24点时间
  45. public static Date getTimesWeeknight() {
  46. Calendar cal = Calendar.getInstance();
  47. cal.setTime(getTimesWeekmorning());
  48. cal.add(Calendar.DAY_OF_WEEK, 7);
  49. return cal.getTime();
  50. }
  51. // 获得本月第一天0点时间
  52. public static Date getTimesMonthmorning() {
  53. Calendar cal = Calendar.getInstance();
  54. cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
  55. cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
  56. return cal.getTime();
  57. }
  58. // 获得本月最后一天24点时间
  59. public static Date getTimesMonthnight() {
  60. Calendar cal = Calendar.getInstance();
  61. cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
  62. cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
  63. cal.set(Calendar.HOUR_OF_DAY, 24);
  64. return cal.getTime();
  65. }
  66. public static Date getLastMonthStartMorning() {
  67. Calendar cal = Calendar.getInstance();
  68. cal.setTime(getTimesMonthmorning());
  69. cal.add(Calendar.MONTH, -1);
  70. return cal.getTime();
  71. }
  72. public static Date getTwoLastMonthStartMorning() {
  73. Calendar cal = Calendar.getInstance();
  74. cal.setTime(getTimesMonthmorning());
  75. cal.add(Calendar.MONTH, -2);
  76. return cal.getTime();
  77. }
  78. public static Date getCurrentQuarterStartTime() {
  79. Calendar c = Calendar.getInstance();
  80. int currentMonth = c.get(Calendar.MONTH) + 1;
  81. SimpleDateFormat longSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  82. SimpleDateFormat shortSdf = new SimpleDateFormat("yyyy-MM-dd");
  83. Date now = null;
  84. try {
  85. if (currentMonth >= 1 && currentMonth <= 3)
  86. c.set(Calendar.MONTH, 0);
  87. else if (currentMonth >= 4 && currentMonth <= 6)
  88. c.set(Calendar.MONTH, 3);
  89. else if (currentMonth >= 7 && currentMonth <= 9)
  90. c.set(Calendar.MONTH, 4);
  91. else if (currentMonth >= 10 && currentMonth <= 12)
  92. c.set(Calendar.MONTH, 9);
  93. c.set(Calendar.DATE, 1);
  94. now = longSdf.parse(shortSdf.format(c.getTime()) + " 00:00:00");
  95. } catch (Exception e) {
  96. e.printStackTrace();
  97. }
  98. return now;
  99. }
  100. /**
  101. * 当前季度的结束时间,即2012-03-31 23:59:59
  102. *
  103. * @return
  104. */
  105. public static Date getCurrentQuarterEndTime() {
  106. Calendar cal = Calendar.getInstance();
  107. cal.setTime(getCurrentQuarterStartTime());
  108. cal.add(Calendar.MONTH, 3);
  109. return cal.getTime();
  110. }
  111. public static Date getCurrentYearStartTime() {
  112. Calendar cal = Calendar.getInstance();
  113. cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
  114. cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.YEAR));
  115. return cal.getTime();
  116. }
  117. public static Date getCurrentYearEndTime() {
  118. Calendar cal = Calendar.getInstance();
  119. cal.setTime(getCurrentYearStartTime());
  120. cal.add(Calendar.YEAR, 1);
  121. return cal.getTime();
  122. }
  123. public static Date getLastYearStartTime() {
  124. Calendar cal = Calendar.getInstance();
  125. cal.setTime(getCurrentYearStartTime());
  126. cal.add(Calendar.YEAR, -1);
  127. return cal.getTime();
  128. }
  129. public static Date getNextDay(Date date,Integer num) {
  130. Calendar calendar = Calendar.getInstance();
  131. calendar.setTime(date);
  132. calendar.add(Calendar.DAY_OF_MONTH, +num);//+1今天的时间加一天
  133. date = calendar.getTime();
  134. return date;
  135. }
  136. /**
  137. * 获取上周开始时间和结束时间
  138. */
  139. public static JSONObject getLastWeekRange() {
  140. Calendar calendar = Calendar.getInstance();
  141. calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
  142. calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
  143. calendar.add(Calendar.DAY_OF_WEEK, -7);
  144. Date startTime = calendar.getTime();
  145. calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59);
  146. calendar.add(Calendar.DAY_OF_WEEK, 6);
  147. Date stopTime = calendar.getTime();
  148. JSONObject jsonObject = new JSONObject();
  149. jsonObject.put("startTime", startTime);
  150. jsonObject.put("stopTime", stopTime);
  151. return jsonObject;
  152. }
  153. /**
  154. * 获取上月开始时间和结束时间
  155. */
  156. public static JSONObject getLastMonthRange() {
  157. Calendar calendar = Calendar.getInstance();
  158. calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
  159. calendar.add(Calendar.MONTH, -1);
  160. calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
  161. Date startTime = calendar.getTime();
  162. calendar.add(Calendar.DAY_OF_WEEK, 7);
  163. calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
  164. //calendar.set(Calendar.HOUR_OF_DAY, 24);
  165. calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59);
  166. Date stopTime = calendar.getTime();
  167. JSONObject jsonObject = new JSONObject();
  168. jsonObject.put("startTime", startTime);
  169. jsonObject.put("stopTime", stopTime);
  170. return jsonObject;
  171. }
  172. /**
  173. * 获取昨天开始时间和结束时间
  174. */
  175. public static JSONObject getYesterdayRange() {
  176. Calendar calendar = Calendar.getInstance();
  177. calendar.set(Calendar.MILLISECOND, 0);
  178. calendar.set(Calendar.SECOND, 0);
  179. calendar.set(Calendar.MINUTE, 0);
  180. calendar.set(Calendar.HOUR_OF_DAY, -24);
  181. Date startTime = calendar.getTime();
  182. calendar.set(Calendar.MILLISECOND, 0);
  183. calendar.set(Calendar.SECOND, 59);
  184. calendar.set(Calendar.MINUTE, 59);
  185. calendar.set(Calendar.HOUR_OF_DAY, 23);
  186. Date stopTime = calendar.getTime();
  187. JSONObject jsonObject = new JSONObject();
  188. jsonObject.put("startTime", startTime);
  189. jsonObject.put("stopTime", stopTime);
  190. return jsonObject;
  191. }
  192. }