加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java 日期获取,每月一号,每周一

发布时间:2020-12-15 08:23:03 所属栏目:Java 来源:网络整理
导读:java 日期获取,每月一号,每周一? ? package info.lumanman.h5.util; ? ? ? import java.text.SimpleDateFormat; ? import java.util.Calendar; ? ? ? public class DateUtil { ? ? ? ?? ? public static void main( String[] args) { ? ?? ??? ?SimpleDate

java 日期获取,每月一号,每周一?

  1. ?
    package info.lumanman.h5.util;
  2. ?
    ?
  3. ?
    import java.text.SimpleDateFormat;
  4. ?
    import java.util.Calendar;
  5. ?
    ?
  6. ?
    public class DateUtil {
  7. ?
    ?
  8. ?
    ?? ? public static void main(String[] args) {
  9. ?
    ?? ??? ?SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  10. ?
    ?? ??? ? //addDay(sdf,10);
  11. ?
    ?? ??? ? //getWeekDay(sdf);
  12. ?
    ?? ??? ?getMonth(sdf);
  13. ?
    ?? ??? ?
  14. ?
    ?? ?}
  15. ?
    ?? ? /**
  16. ?
    ?? ? * 增加天数
  17. ?
    ?? ? * @param sdf
  18. ?
    ?? ? */
  19. ?
    ?? ? public static void addDay(SimpleDateFormat sdf,int days){
  20. ?
    ?? ??? ?
  21. ?
    ?? ??? ? //获取Calendar实例,java封装的表现,private类Calendar的构造函数,通过静态方法创建对象
  22. ?
    ?? ??? ?Calendar calendar=Calendar.getInstance();
  23. ?
    ?? ??? ? //获取当前时间并格式化
  24. ?
    ?? ??? ?System. out.println("当前时间: "+sdf.format(calendar.getTime()));
  25. ?
    ?? ??? ?
  26. ?
    ?? ??? ? //给当前时间加上天数days并输出,这里的第一个参数用以下三个都可以
  27. ?
    ?? ??? ?Calendar calendar1=Calendar.getInstance();
  28. ?
    ?? ??? ?calendar1. add(Calendar.DAY_OF_YEAR,days);
  29. ?
    ?? ??? ?System. out.println("加了"+days+"天之后的时间: "+sdf.format(calendar1.getTime()));
  30. ?
    ?? ??? ?
  31. ?
    ?? ??? ?Calendar calendar2=Calendar.getInstance();
  32. ?
    ?? ??? ?calendar2. add(Calendar.DAY_OF_MONTH,days);
  33. ?
    ?? ??? ?System. out.println("加了"+days+"之后的时间: "+sdf.format(calendar2.getTime()));
  34. ?
    ?? ??? ?
  35. ?
    ?? ??? ?Calendar calendar3=Calendar.getInstance();
  36. ?
    ?? ??? ?calendar3. add(Calendar.DAY_OF_WEEK,days);
  37. ?
    ?? ??? ?System. out.println("加了"+days+"之后的时间: "+sdf.format(calendar3.getTime()));
  38. ?
    ?? ?}
  39. ?
    ?? ? /**
  40. ?
    ?? ? * 获取当前星期、前一星期、后一星期的第一天和最后一天
  41. ?
    ?? ? * @param sdf
  42. ?
    ?? ? */
  43. ?
    ?? ? public static void getWeekDay(SimpleDateFormat sdf){
  44. ?
    ?? ??? ? //获取Calendar实例,java封装的表现,private类Calendar的构造函数,通过静态方法创建对象
  45. ?
    ?? ??? ?Calendar calendar=Calendar.getInstance();
  46. ?
    ?? ??? ? //获取当前时间并格式化
  47. ?
    ?? ??? ?System. out.println("当前时间: "+sdf.format(calendar.getTime()));
  48. ?
    ?? ??? ?
  49. ?
    ?? ??? ? //本周一
  50. ?
    ?? ??? ?Calendar calendar1=Calendar.getInstance();
  51. ?
    ?? ??? ?calendar1. set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
  52. ?
    ?? ??? ?System. out.println("本周一: "+sdf.format(calendar1.getTime()));
  53. ?
    ?? ??? ? //本周日
  54. ?
    ?? ??? ?Calendar calendar2=Calendar.getInstance();
  55. ?
    ?? ??? ? //外国的星期天和我们的不在一周(外国是星期天到星期六为一个星期)
  56. ?
    ?? ??? ?calendar2. add(Calendar.DAY_OF_WEEK,7);
  57. ?
    ?? ??? ?calendar2. set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
  58. ?
    ?? ??? ?System. out.println("本周日: "+sdf.format(calendar2.getTime()));
  59. ?
    ?? ??? ?
  60. ?
    ?? ??? ? //下周一
  61. ?
    ?? ??? ?Calendar calendar3=Calendar.getInstance();
  62. ?
    ?? ??? ?calendar3. add(Calendar.DAY_OF_MONTH,7);
  63. ?
    ?? ??? ?calendar3. set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
  64. ?
    ?? ??? ?System. out.println("下周一: "+sdf.format(calendar3.getTime()));
  65. ?
    ?? ??? ? //下周日
  66. ?
    ?? ??? ?Calendar calendar4=Calendar.getInstance();
  67. ?
    ?? ??? ?calendar4. add(Calendar.DAY_OF_MONTH,14);
  68. ?
    ?? ??? ?calendar4. set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
  69. ?
    ?? ??? ?System. out.println("下周日: "+sdf.format(calendar4.getTime()));
  70. ?
    ?? ??? ?
  71. ?
    ?? ??? ? //上周一
  72. ?
    ?? ??? ?Calendar calendar5=Calendar.getInstance();
  73. ?
    ?? ??? ?calendar5. add(Calendar.DAY_OF_YEAR,-7);
  74. ?
    ?? ??? ?calendar5. set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
  75. ?
    ?? ??? ?System. out.println("上周一: "+sdf.format(calendar5.getTime()));
  76. ?
    ?? ??? ? //上周日
  77. ?
    ?? ??? ?Calendar calendar6=Calendar.getInstance();
  78. ?
    ?? ??? ?calendar6. set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
  79. ?
    ?? ??? ?System. out.println("上周日: "+sdf.format(calendar6.getTime()));
  80. ?
    ?? ?}
  81. ?
    ?? ? /**
  82. ?
    ?? ? * 获取当前月、前一月、后一月的第一天和最后一天
  83. ?
    ?? ? * @param sdf
  84. ?
    ?? ? */
  85. ?
    ?? ? public static void getMonth(SimpleDateFormat sdf){
  86. ?
    ?? ??? ? //定义当前月的总天数,比如30,31,28,29
  87. ?
    ?? ??? ? int maxCurrentMonthDay=0;
  88. ?
    ?? ??? ?Calendar calendar=Calendar.getInstance();
  89. ?
    ?? ??? ?System. out.println("当前时间: "+sdf.format(calendar.getTime()));
  90. ?
    ?? ??? ?
  91. ?
    ?? ??? ? //当月一号
  92. ?
    ?? ??? ?Calendar calendar1=Calendar.getInstance();
  93. ?
    ?? ??? ?calendar1. set(Calendar.DAY_OF_MONTH,1);
  94. ?
    ?? ??? ?System. out.println("本月第一天: "+sdf.format(calendar1.getTime()));
  95. ?
    ?? ??? ? //当月最后一天
  96. ?
    ?? ??? ?Calendar calendar2=Calendar.getInstance();
  97. ?
    ?? ??? ?maxCurrentMonthDay=calendar2.getActualMaximum(Calendar.DAY_OF_MONTH);
  98. ?
    ?? ??? ?calendar2. set(Calendar.DAY_OF_MONTH,maxCurrentMonthDay);
  99. ?
    ?? ??? ?System. out.println("本月最后一天: "+sdf.format(calendar2.getTime()));
  100. ?
    ?? ??? ?
  101. ?
    ?? ??? ? //下个月一号
  102. ?
    ?? ??? ?Calendar calendar3=Calendar.getInstance();
  103. ?
    ?? ??? ?maxCurrentMonthDay=calendar3.getActualMaximum(Calendar.DAY_OF_MONTH);
  104. ?
    ?? ??? ?calendar3. add(Calendar.DAY_OF_MONTH,maxCurrentMonthDay);
  105. ?
    ?? ??? ?calendar3. set(Calendar.DAY_OF_MONTH,1);
  106. ?
    ?? ??? ?System. out.println("下月第一天: "+sdf.format(calendar3.getTime()));
  107. ?
    ?? ??? ? //下个月最后一天
  108. ?
    ?? ??? ?Calendar calendar4=Calendar.getInstance();
  109. ?
    ?? ??? ?maxCurrentMonthDay=calendar4.getActualMaximum(Calendar.DAY_OF_MONTH);
  110. ?
    ?? ??? ?calendar4. add(Calendar.DAY_OF_MONTH,maxCurrentMonthDay);
  111. ?
    ?? ??? ? //第一个maxCurrentMonthDay获取的是当月的天数,第二个maxCurrentMonthDay获取的是下个月的天数
  112. ?
    ?? ??? ?maxCurrentMonthDay=calendar4.getActualMaximum(Calendar.DAY_OF_MONTH);
  113. ?
    ?? ??? ?calendar4. set(Calendar.DAY_OF_MONTH,maxCurrentMonthDay);
  114. ?
    ?? ??? ?System. out.println("下月第一天: "+sdf.format(calendar4.getTime()));
  115. ?
    ?? ??? ?
  116. ?
    ?? ??? ? //上个月一号
  117. ?
    ?? ??? ?Calendar calendar5=Calendar.getInstance();
  118. ?
    ?? ??? ?maxCurrentMonthDay=calendar5.getActualMaximum(Calendar.DAY_OF_MONTH);
  119. ?
    ?? ??? ?calendar5. add(Calendar.DAY_OF_MONTH,-maxCurrentMonthDay);
  120. ?
    ?? ??? ?calendar5. set(Calendar.DAY_OF_MONTH,1);
  121. ?
    ?? ??? ?System. out.println("上月第一天: "+sdf.format(calendar5.getTime()));
  122. ?
    ?? ??? ? //上个月最后一天
  123. ?
    ?? ??? ?Calendar calendar6=Calendar.getInstance();
  124. ?
    ?? ??? ?maxCurrentMonthDay=calendar6.getActualMaximum(Calendar.DAY_OF_MONTH);
  125. ?
    ?? ??? ?calendar6. add(Calendar.DAY_OF_MONTH,-maxCurrentMonthDay);
  126. ?
    ?? ??? ? //第一个maxCurrentMonthDay获取的是当月的天数,第二个maxCurrentMonthDay获取的是上个月的天数
  127. ?
    ?? ??? ?maxCurrentMonthDay=calendar6.getActualMaximum(Calendar.DAY_OF_MONTH);
  128. ?
    ?? ??? ?calendar6. set(Calendar.DAY_OF_MONTH,maxCurrentMonthDay);
  129. ?
    ?? ??? ?System. out.println("上月第一天: "+sdf.format(calendar6.getTime()));
  130. ?
    ?? ??? ?
  131. ?
    ?? ?}
  132. ?}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读