java中获取日期属于哪一年的第几周
在设计数据模型的时候需要用到年份+周数作为唯一索引,于是就需要判断一个日期是属于哪一年的第几周,本来问题很简单的,但是会涉及到跨年的问题,例如以周一作为一个星期的开始,那么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中获取日期属于哪一年的第几周相关推荐
- Java中获取日期和时间
Java中获取日期和时间 1.创建 java.util.Calendar 实例,调用其 get()方法传入不同的参数即可获 得参数所对应的值 import java.util.Calender; // ...
- java获取明天的日期_java怎么获取昨天,今天,明天的日期?java中获取日期的函数
对于初步进入java学习阶段的朋友们来说,有一个必不可少的java基础知识,也就是日期函数,下面呢就用几个Demo带领大家一起来学习一下,如何用日期函数获取昨天,今天和明天的日期? 首先是获取昨天的日 ...
- java中获取日期 日期和字符串互转
package deng;import java.text.SimpleDateFormat; import java.util.Date;public class DateTest01 {publi ...
- java List最大_在java中获取List集合中最大的日期时间操作
取list集合中最大的日期, 可以用date max = collections.max(datelist);, 传入一个日期集合, 就可以获取, 工作中有这个需求, 就查找到这个, 代码如下 } e ...
- java文件中获取创建日期_如何在Java中获取文件的上次修改日期
java文件中获取创建日期 Sometimes we need to get the file last modified date in Java, usually for listeners li ...
- JAVA中获取当前系统时间
JAVA中获取当前系统时间 转自:http://www.cnblogs.com/Matrix54/archive/2012/05/01/2478158.html 一. 获取当前系统时间和日期并格式化输 ...
- 如何在Java中比较日期? [重复]
本文翻译自:How to compare dates in Java? [duplicate] This question already has answers here : 这个问题已经在这里有了 ...
- Java中的日期操作
在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception {SimpleDateFormat sdf = ne ...
- java中Date日期类型的大小比较
java中Date日期类型的大小比较 方法一: java.util.Date类实现了Comparable接口,可以直接调用Date的compareTo()方法来比较大小 String beginTim ...
最新文章
- iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)
- Linux - Nginx安装
- 条件随机场CRF简介Introduction to Conditional Random Fields
- 控制好你的 Wordpress 侧边栏
- 软件工程--第六周学习进度
- Graph Structure of Neural Networks何凯明团队
- unity scence灯光不显示_Unity基础教程系列(四)——多场景(Loading Levels)
- 为什么古代皇帝总是治不了腐败?因为拿得越多、越安全
- 临床试验中的样本量估算---实践篇
- python 使用word转pdf遇到的问题
- 组合导航GPS+IMU
- 快递单号中的派件时效该怎么查?
- android+源代码加密,震惊!Android 12开发者版源代码泄密
- 手写实现数据库连接池
- windowsmobile软件_经验:CSPJ/S初赛知识点整理(NOIP硬件与软件基础)
- 使用微软DNS服务器解决Hotmail、微软账户登录页面无法访问的问题
- 【R语言】必学包之dplyr包
- android内核分析的启点
- 迎接全电发票的管理方式,iBox电子会计档案管理系统
- SYN,ICMP, UDP Flood攻击原理与防护