1.情景分析

今天在开发上有一个需求,无论今天是周几。我需要获取到上周周六的年月日,进行操作,经过一番折腾,总结了如下代码仅供参考。

 public static void main(String[] args) {//格式化时间  具体要啥格式你们自己写 EE是星期的意思 一般时候用不到的 年月日足以SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd EE");//拿到今天的时间  这个时间如果你不要当前时间 要自己传时间进来 在这里进行修改即可Calendar nowTime = Calendar.getInstance();//!!!设置每周的第一天,我们中国人第一天是周一,切记修改这个,否则会出现获取周日的时候,时间错误的问题//例如我今天是 2022-8-23周二 对于我们来说 本周的周日就应该是 8-28日 但是如果你没有设置初始时间//你在去获取周日的时间 就会是8-21 因为默认周日是开始的日期nowTime.setFirstDayOfWeek(Calendar.MONDAY);//把现在的时间翻到我们指定的周几上,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY//这样我们就可以拿到我们所选的那个时间所在周的任意周X的日期了  //那基于这个 算出来的时间-7就是上周周X  +7就是下周周X  哇塞的简单nowTime.set(Calendar.DAY_OF_WEEK,  Calendar.SATURDAY);Calendar oldTime = new GregorianCalendar();oldTime.setTime(nowTime.getTime());//参数1: 1则代表的是对年份操作,2是对月份操作,3是对星期操作,5是对日期操作,11是对小时操作,12是对分钟操作,13是对秒操作,14是对毫秒操作//参数2:把日期往后增加或者减去,整数  往后推,负数往前移动oldTime.add(Calendar.DATE, -7);System.out.println(format.format(oldTime.getTime()));}


关于星期的问题,这里再一次说明。假如不设置每周开始时间,默认是周日(当然,这还跟时区啥的有关,这里不多介绍,我们就当周日来说)。可以看到今天是8-24号,我们正常来说,这周周日是8-28号,上周周日是8-21号。但是,使用默认配置的话,你的本周周日就是8-21号,上周周日就是8-14号,手动滑稽。

2.分析

以上代码可以实现 基于本周周X,查询出任意间隔天数的时间,例如,我可以查询到这周周四前54天的日期时间,或者是本周二以后28天是几月几日。而且Calendar 为jdk8新的api,无论是性能还是使用体验都遥遥领先于老的aip,推荐使用。

java按周获取时间相关推荐

  1. Java但中获取时间将时间转换成字符串格式(年月日格式)

    一:直接上马拿走: package cn.wyj.one;import java.text.DateFormat; import java.text.SimpleDateFormat; import ...

  2. java 获取时间的方法

    Java的时间是通过字节码指令来控制的,所以 java程序的运行时间是通过字节码指令来控制的.但是由于 Java程序在运行时, JVM会产生一些状态,所以在执行 JVM指令时, JVM也会产生一些状态 ...

  3. java 一周前日期_java获取当前时间前一周、前一月、前一年的时间

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar c = Calend ...

  4. java获取mysql时间格式化_Java与mysql的时间格式化问题,获取时间的上下午

    Java与mysql的时间格式化问题,获取时间的上下午java 在项目中常常会遇到对时间进行格式化的问题,一次在对应用中发现,使用Java的SimpleDateFormat格式化时间,获取到的是上午, ...

  5. JAVA将一段时间 按周、月、季度、半年、年进行分割

    JAVA将一段时间 按周.月.季度.半年.年进行分割. 有时候开发常常会传入一个开始时间和结束时间,将两个时间进行分割,返回一个时间的集合以下是我们小组成员所书写的实体类 package com.ai ...

  6. Java编程实现获取本周在当前年的第几周、当前月的第几周、当前季度的第几季度

    /*** 项目:Java编程实现获取本周在当前年的第几周.当前月的第几周.当前季度的第几季度* 时间:2019/8/14* 作者:郑翰林*/import java.util.Calendar; pub ...

  7. java获取时间_java获取Date时间的各种方式汇总

    java获取Date时间的各种方式为大家分享如下 常用的时间获取方式 public class DateUtils { /** * 获取时间戳 * 输出结果:1438692801766 */ @Tes ...

  8. Java获取时间时间格式化最全总结

    Java获取时间&时间格式化最全总结 最近遇到很多在Java里获取当前时间的问题,有的要求五花八门的,今天总结一下在Java中获取时间的方法和时间输出的格式化. 获取方式 java.util. ...

  9. java里 currenttime_java 获取当前时间LocalDateTime currentTimeMillis java.util.Date

    总结java里面关于获取当前时间的一些方法 System.currentTimeMillis() 获取标准时间可以通过System.currentTimeMillis()方法获取,此方法不受时区影响, ...

最新文章

  1. 探索JAVA并发 - 线程池详解
  2. 如何开发一个Node脚手架
  3. 相移波束形成算法的MATLAB仿真
  4. JS中代表结束的三个关键字 break,continue,return
  5. 还是畅通工程(克鲁斯卡尔算法+并查集)
  6. 哈哈!TCP泄露了操作系统信息···
  7. torch.Tensor和torch.tensor有什么区别?
  8. Yaniv Erlich:DNA 很可能是人类终极的储存设备
  9. c#制作的简单的画图板
  10. zabbix--基础概念及原理
  11. android布局--Android fill_parent、wrap_content和match_parent的区别
  12. SQL server 数据库调用远程数据库存储过程的实现方法
  13. 中缀表达式求值,中缀表达式转化为二叉树
  14. springboot集成梦网云科技api发送短信
  15. mysql median_MySQL中查询中位数?
  16. 20172301 2017-2018-2 《程序设计与数据结构》第六周学习总结
  17. 基于JSP动漫论坛的设计与实现
  18. Android图片分享问题采坑总结
  19. ospf-NBMA基本配置
  20. node.js批量修改图片名称

热门文章

  1. 【web前端特效源码】使用HTML5+CSS3制作一个会促销广告滚动字幕3D动画效果~~适合初学者~超简单~ |前端开发|IT软件
  2. 科大奥瑞物理实验——半导体封装实验
  3. 【OpenCV】OpenCV-Python实现相机标定+利用棋盘格相对位姿估计
  4. linux文件权限rwx分别代表,rwx(linux中rwx分别代表几)
  5. Android程序设计之学生考勤管理系统
  6. ipad pro 生产力指南 2.1 下载
  7. javascript毫秒计时器_js/javascript计时器方法及使用场景
  8. python的selenium模块
  9. Avue的upload数组图片上传以及删除后上传又出现的问题
  10. 实现Log4j和Logback的统一日志封装与动态日志级别调整