在设计数据模型的时候需要用到年份+周数作为唯一索引,于是就需要判断一个日期是属于哪一年的第几周,本来问题很简单的,但是会涉及到跨年的问题,例如以周一作为一个星期的开始,那么2018-12-30日星期日,属于2018年的第52周,而2018-12-31日星期一,就属于2019年的第1周,因此,只用一个日期属于第几周来判断是会有问题的,下面这个方法里面返回了年份与第几周,可以满足要求。

public static Map<String,Integer> getWeekAndYear(String date) {Map<String,Integer> result =  new HashMap<String,Integer>();Calendar cal = Calendar.getInstance();--设置一周的开始,默认是周日,这里设置成星期一cal.setFirstDayOfWeek(Calendar.MONDAY);SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");SimpleDateFormat formatMon = new SimpleDateFormat("MM");SimpleDateFormat formatYear = new SimpleDateFormat("yyyy");Date d = null;try {d = format.parse(date);} catch (ParseException e) {e.printStackTrace();}cal.setTime(d);int month = Integer.valueOf(formatMon.format(d));int year = Integer.valueOf(formatYear.format(d));int week = cal.get(Calendar.WEEK_OF_YEAR);result.put("week", week);if(week == 1 && month == 12){result.put("year", year + 1);}else{result.put("year", year);}return result;}

java中获取日期属于哪一年的第几周相关推荐

  1. Java中获取日期和时间

    Java中获取日期和时间 1.创建 java.util.Calendar 实例,调用其 get()方法传入不同的参数即可获 得参数所对应的值 import java.util.Calender; // ...

  2. java获取明天的日期_java怎么获取昨天,今天,明天的日期?java中获取日期的函数

    对于初步进入java学习阶段的朋友们来说,有一个必不可少的java基础知识,也就是日期函数,下面呢就用几个Demo带领大家一起来学习一下,如何用日期函数获取昨天,今天和明天的日期? 首先是获取昨天的日 ...

  3. java中获取日期 日期和字符串互转

    package deng;import java.text.SimpleDateFormat; import java.util.Date;public class DateTest01 {publi ...

  4. java List最大_在java中获取List集合中最大的日期时间操作

    取list集合中最大的日期, 可以用date max = collections.max(datelist);, 传入一个日期集合, 就可以获取, 工作中有这个需求, 就查找到这个, 代码如下 } e ...

  5. java文件中获取创建日期_如何在Java中获取文件的上次修改日期

    java文件中获取创建日期 Sometimes we need to get the file last modified date in Java, usually for listeners li ...

  6. JAVA中获取当前系统时间

    JAVA中获取当前系统时间 转自:http://www.cnblogs.com/Matrix54/archive/2012/05/01/2478158.html 一. 获取当前系统时间和日期并格式化输 ...

  7. 如何在Java中比较日期? [重复]

    本文翻译自:How to compare dates in Java? [duplicate] This question already has answers here : 这个问题已经在这里有了 ...

  8. Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception {SimpleDateFormat sdf = ne ...

  9. java中Date日期类型的大小比较

    java中Date日期类型的大小比较 方法一: java.util.Date类实现了Comparable接口,可以直接调用Date的compareTo()方法来比较大小 String beginTim ...

最新文章

  1. iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)
  2. Linux - Nginx安装
  3. 条件随机场CRF简介Introduction to Conditional Random Fields
  4. 控制好你的 Wordpress 侧边栏
  5. 软件工程--第六周学习进度
  6. Graph Structure of Neural Networks何凯明团队
  7. unity scence灯光不显示_Unity基础教程系列(四)——多场景(Loading Levels)
  8. 为什么古代皇帝总是治不了腐败?因为拿得越多、越安全
  9. 临床试验中的样本量估算---实践篇
  10. python 使用word转pdf遇到的问题
  11. 组合导航GPS+IMU
  12. 快递单号中的派件时效该怎么查?
  13. android+源代码加密,震惊!Android 12开发者版源代码泄密
  14. 手写实现数据库连接池
  15. windowsmobile软件_经验:CSPJ/S初赛知识点整理(NOIP硬件与软件基础)
  16. 使用微软DNS服务器解决Hotmail、微软账户登录页面无法访问的问题
  17. 【R语言】必学包之dplyr包
  18. android内核分析的启点
  19. 迎接全电发票的管理方式,iBox电子会计档案管理系统
  20. SYN,ICMP, UDP Flood攻击原理与防护

热门文章

  1. python selenium下载电子书
  2. Visual Paradigm下载并设置中文
  3. nginx实现反向代理及负载均衡
  4. ORMLite 数据库的使用--二次封装
  5. 蓝牙协议(bluetooth spec)
  6. 如何用计算机弹出斗地主的声音,玩斗地主没声音电脑瞎出牌。我点的没有.怎么办?...
  7. mysql neq_neq、eq的用法,thinkphp框架下的
  8. 如何写好产品需求文档PRD
  9. 手动计算Q-Learning的一个实例
  10. Matlab基本函数-feather函数