1.代码


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

2.结果

  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


版权声明:本文博客原创文章。博客,未经同意,不得转载。

Java获取的一天、本星期、这个月、本季度、一年等 开始和结束时间的更多相关文章

  1. c# 获取 本周、本月、本季度、本年 的开始时间或结束时间

    #region 获取 本周.本月.本季度.本年 的开始时间或结束时间 /// <summary> /// 获取结束时间 /// </summary> /// <param ...

  2. 写sql语句分别按日,星期,月,季度,年统计

    --写sql语句分别按日,星期,月,季度,年统计销售额 --按日 ' group by day([date]) --按周quarter ' group by datename(week,[date]) ...

  3. Java获取当天、本周、本月、本季度、本年等 开始及结束时间

    package com.zhaochao.utils; import java.text.SimpleDateFormat; import java.util.Calendar; import jav ...

  4. JAVA获取当前日期指定月份后(多少个月后)的日期

    环境要求:使用jdk1.8 package com.date; import java.text.ParseException; import java.text.SimpleDateFormat; ...

  5. C#根据当前时间获取周,月,季度,年度等时间段的起止时间

    最近有个统计分布的需求,需要按统计本周,上周,本月,上月,本季度,上季度,本年度,上年度等时间统计分布趋势,所以这里就涉及到计算周,月,季度,年度等的起止时间了,下面总结一下C#中关于根据当前时间获取 ...

  6. Java获取各种常用时间方法大全

    Java获取各种常用时间方法大全 package cc.javaweb.test; Java中文网,Java获取各种时间大全 import java.text.DateFormat; import j ...

  7. [Java] 获取本月周次和日期时间段信息

    package com.wdcloud.monitoring.common; import java.text.SimpleDateFormat; import java.util.ArrayList ...

  8. 学JAVA第四天,JAVA获取年月日

    先添加引用import java.util.Calendar; 然后编写代码: Calendar calendar = null;//声明 calendar= Calendar.getInstance ...

  9. java 获取 获取某年某月 所有日期(yyyy-mm-dd格式字符串)

    总结一些日期常用的代码,方便以后直接拿 <code> /** * java 获取 获取某年某月 所有日期(yyyy-mm-dd格式字符串) * @param year * @param m ...

随机推荐

  1. facebook打开动画pop

    POP源代码:https://github.com/facebook/pop demo相关链接:https://github.com/jxd001/POPdemo/blob/master/README ...

  2. wwwtyro/cellophane

    wwwtyro/cellophane A dead simple web terminal that gets all of the boilerplate out of the way and le ...

  3. [置顶] ※数据结构※→☆线性表结构(stack)☆============栈 序列表结构(stack sequence)(六)

    栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表.栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据.栈 ...

  4. php学习之道:WSDL具体解释(三)

    通过声明方式定义绑定(binding)属性 假设你在服务中採用SOAP binding.你能够使用JAX-WS来指定一定数量的属性binding. 这些属性指定相应你在WSDL中指定的属性.某些设置. ...

  5. [Linux]Centos git报错fatal: HTTP request failed

    在使用git pull.git push.git clone会报类似例如以下的错误: error: The requested URL returned error: 401 Unauthorized ...

  6. java 线程 ProducerAndConsumer

    package j2se.thread.demo; /** * <p>Project:J2SE 的基础知识</p> * <p>Tile:多线程模拟 生产者 和 消费 ...

  7. JavaFX的扩展控件库ControlsFX介绍

    声明:   本博客文章原创类别的均为个人原创,版权所有.转载请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客:http://www.wjfxgame.com. ...

  8. poj1935(树形dp)

    题目链接:http://poj.org/problem?id=1935 题意:带边权的树,给点一个根,问从根出发遍历某些点,所需的最小花费. 分析:树上任意两点的路径是唯一的,直接dfs一遍,可以得出 ...

  9. AlarmManager的学习与实现

    综述     这个类提供了一种使用系统提供的alarm服务.这个服务同意用户安排他们的应用程序在将来的某一个时间点执行.当设置的alarm响起,那么之前系统为这个alarm注冊的Intent就会自己主 ...

  10. 道破Redis的VM

    原创文章是freas_1990.转载请注明出处:http://blog.csdn.net/freas_1990/article/details/42052813 Redis唯一的那个key的value ...