java后台获取不同时间的方法

  1.  public static void main(String[] args) {  
  2.         // TODO Auto-generated method stub  
  3.         System.out.println("当天24点时间:" + getTimesnight().toLocaleString());  
  4.         System.out.println("当前时间:" + new Date().toLocaleString());  
  5.         System.out.println("当天0点时间:" + getTimesmorning().toLocaleString());  
  6.         System.out.println("昨天0点时间:" + getYesterdaymorning().toLocaleString());  
  7.         System.out.println("近7天时间:" + getWeekFromNow().toLocaleString());  
  8.         System.out.println("本周周一0点时间:" + getTimesWeekmorning().toLocaleString());  
  9.         System.out.println("本周周日24点时间:" + getTimesWeeknight().toLocaleString());  
  10.         System.out.println("本月初0点时间:" + getTimesMonthmorning().toLocaleString());  
  11.         System.out.println("本月未24点时间:" + getTimesMonthnight().toLocaleString());  
  12.         System.out.println("上月初0点时间:" + getLastMonthStartMorning().toLocaleString());  
  13.         System.out.println("本季度开始点时间:" + getCurrentQuarterStartTime().toLocaleString());  
  14.         System.out.println("本季度结束点时间:" + getCurrentQuarterEndTime().toLocaleString());  
  15.         System.out.println("本年开始点时间:" + getCurrentYearStartTime().toLocaleString());  
  16.         System.out.println("本年结束点时间:" + getCurrentYearEndTime().toLocaleString());  
  17.         System.out.println("上年开始点时间:" + getLastYearStartTime().toLocaleString());  
  18.     }  
  19.   
  20.     // 获得当天0点时间  
  21.     public static Date getTimesmorning() {  
  22.         Calendar cal = Calendar.getInstance();  
  23.         cal.set(Calendar.HOUR_OF_DAY, 0);  
  24.         cal.set(Calendar.SECOND, 0);  
  25.         cal.set(Calendar.MINUTE, 0);  
  26.         cal.set(Calendar.MILLISECOND, 0);  
  27.         return cal.getTime();  
  28.   
  29.   
  30.     }  
  31.     // 获得昨天0点时间  
  32.     public static Date getYesterdaymorning() {  
  33.         Calendar cal = Calendar.getInstance();  
  34.         cal.setTimeInMillis(getTimesmorning().getTime()-3600*24*1000);  
  35.         return cal.getTime();  
  36.     }  
  37.     // 获得当天近7天时间  
  38.     public static Date getWeekFromNow() {  
  39.         Calendar cal = Calendar.getInstance();  
  40.         cal.setTimeInMillis( getTimesmorning().getTime()-3600*24*1000*7);  
  41.         return cal.getTime();  
  42.     }  
  43.   
  44.     // 获得当天24点时间  
  45.     public static Date getTimesnight() {  
  46.         Calendar cal = Calendar.getInstance();  
  47.         cal.set(Calendar.HOUR_OF_DAY, 24);  
  48.         cal.set(Calendar.SECOND, 0);  
  49.         cal.set(Calendar.MINUTE, 0);  
  50.         cal.set(Calendar.MILLISECOND, 0);  
  51.         return cal.getTime();  
  52.     }  
  53.   
  54.     // 获得本周一0点时间  
  55.     public static Date getTimesWeekmorning() {  
  56.         Calendar cal = Calendar.getInstance();  
  57.         cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 000);  
  58.         cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);  
  59.         return cal.getTime();  
  60.     }  
  61.   
  62.     // 获得本周日24点时间  
  63.     public static Date getTimesWeeknight() {  
  64.         Calendar cal = Calendar.getInstance();  
  65.         cal.setTime(getTimesWeekmorning());  
  66.         cal.add(Calendar.DAY_OF_WEEK, 7);  
  67.         return cal.getTime();  
  68.     }  
  69.   
  70.     // 获得本月第一天0点时间  
  71.     public static Date getTimesMonthmorning() {  
  72.         Calendar cal = Calendar.getInstance();  
  73.         cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 000);  
  74.         cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));  
  75.         return cal.getTime();  
  76.     }  
  77.   
  78.     // 获得本月最后一天24点时间  
  79.     public static Date getTimesMonthnight() {  
  80.         Calendar cal = Calendar.getInstance();  
  81.         cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 000);  
  82.         cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));  
  83.         cal.set(Calendar.HOUR_OF_DAY, 24);  
  84.         return cal.getTime();  
  85.     }  
  86.   //获取上个月开始时间
  87.     public static Date getLastMonthStartMorning() {  
  88.         Calendar cal = Calendar.getInstance();  
  89.         cal.setTime(getTimesMonthmorning());  
  90.         cal.add(Calendar.MONTH, -1);  
  91.         return cal.getTime();  
  92.     }  
  93.   //获取本季度开始时间
  94.     public static Date getCurrentQuarterStartTime() {  
  95.         Calendar c = Calendar.getInstance();  
  96.         int currentMonth = c.get(Calendar.MONTH) + 1;  
  97.         SimpleDateFormat longSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  98.         SimpleDateFormat shortSdf = new SimpleDateFormat("yyyy-MM-dd");  
  99.         Date now = null;  
  100.         try {  
  101.             if (currentMonth >= 1 && currentMonth <= 3)  
  102.                 c.set(Calendar.MONTH, 0);  
  103.             else if (currentMonth >= 4 && currentMonth <= 6)  
  104.                 c.set(Calendar.MONTH, 3);  
  105.             else if (currentMonth >= 7 && currentMonth <= 9)  
  106.                 c.set(Calendar.MONTH, 4);  
  107.             else if (currentMonth >= 10 && currentMonth <= 12)  
  108.                 c.set(Calendar.MONTH, 9);  
  109.             c.set(Calendar.DATE, 1);  
  110.             now = longSdf.parse(shortSdf.format(c.getTime()) + " 00:00:00");  
  111.         } catch (Exception e) {  
  112.             e.printStackTrace();  
  113.         }  
  114.         return now;  
  115.     }  
  116.   
  117.     /** 
  118.      * 当前季度的结束时间,即2012-03-31 23:59:59 
  119.      * 
  120.      * @return 
  121.      */  
  122.     public static Date getCurrentQuarterEndTime() {  
  123.         Calendar cal = Calendar.getInstance();  
  124.         cal.setTime(getCurrentQuarterStartTime());  
  125.         cal.add(Calendar.MONTH, 3);  
  126.         return cal.getTime();  
  127.     }  
  128.   
  129.   //获取本年开始时间
  130.     public static Date getCurrentYearStartTime() {  
  131.         Calendar cal = Calendar.getInstance();  
  132.         cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY), cal.get(Calendar.DAY_OF_MONTH), 000);  
  133.         cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.YEAR));  
  134.         return cal.getTime();  
  135.     }  
  136.   //获取本年结束时间
  137.     public static Date getCurrentYearEndTime() {  
  138.         Calendar cal = Calendar.getInstance();  
  139.         cal.setTime(getCurrentYearStartTime());  
  140.         cal.add(Calendar.YEAR, 1);  
  141.         return cal.getTime();  
  142.     }  
  143.   //获取去年的开始时间
  144.     public static Date getLastYearStartTime() {  
  145.         Calendar cal = Calendar.getInstance();  
  146.         cal.setTime(getCurrentYearStartTime());  
  147.         cal.add(Calendar.YEAR, -1);  
  148.         return cal.getTime();  
  149.     }  
  150.   

结果:
  1. 当天24点时间:2015-1-18 0:00:00  
  2. 当前时间:2015-1-17 10:50:57  
  3. 当天0点时间:2015-1-17 0:00:00  
  4. 昨天0点时间:2015-1-16 0:00:00  
  5. 7天时间:2015-1-10 0:00:00  
  6. 本周周一0点时间:2015-1-12 0:00:00  
  7. 本周周日24点时间:2015-1-19 0:00:00  
  8. 本月初0点时间:2015-1-1 0:00:00  
  9. 本月未24点时间:2015-2-1 0:00:00  
  10. 上月初0点时间:2014-12-1 0:00:00  
  11. 本季度开始点时间:2015-1-1 0:00:00  
  12. 本季度结束点时间:2015-4-1 0:00:00  
  13. 本年开始点时间:2015-1-1 0:00:00  
  14. 本年结束点时间:2016-1-1 0:00:00  
  15. 上年开始点时间:2014-1-1 0:00:00  


猜你喜欢

转载自blog.csdn.net/cgt_0812/article/details/71514697
今日推荐