java 跨年 周计算公式_Java关于周跨年的周数计算
从图中可以看出2016年的1月1日是从周五开始的,意思就是说2016年1月1日所在的这一周既是2015年的最后一周也是2016年的第一周,也就说这一周跨年了。编程是要求严谨的,这么算最后肯定会出问题,这就需要一个标准。
先看下面两段代码的结果:
public void testGetWeekNo1() throws ParseException{
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(dateFormat.parse("2016-1-1"));
int weekNo = calendar.get(Calendar.WEEK_OF_YEAR);
System.out.println("第"+weekNo+"周");
}输出结果:第1周
意思是2016年1月1日是2016年的第1周
public void testGetWeekNo2() throws ParseException{
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setMinimalDaysInFirstWeek(4);
calendar.setTime(dateFormat.parse("2016-1-1"));
int weekNo = calendar.get(Calendar.WEEK_OF_YEAR);
System.out.println("第"+weekNo+"周");
}
输出结果:第52周
意思是2016年1月1日是2015年的第52周
public void testGetWeekNo3() throws ParseException{
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setMinimalDaysInFirstWeek(4);
calendar.setTime(dateFormat.parse("2016-1-4"));
int weekNo = calendar.get(Calendar.WEEK_OF_YEAR);
System.out.println("第"+weekNo+"周");
}
输出结果:第1周
意思是2016年1月4日是2016年的第1周(没说是周一)
其中起到关键作用的代码是下面这段:
calendar.setMinimalDaysInFirstWeek(4);
意思是第一周的最小天数为4。也可以设置别的最小天数,这样一年的开始的第一周就能确定下来,以后的周数的都能准确的推算出来。
根据一年中的周数去获取日期也能准确获取到:
public void testGetTimeByWeekNo() throws ParseException{
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calendar.set(Calendar.YEAR, 2016);
calendar.set(Calendar.WEEK_OF_YEAR, 1);
calendar.setMinimalDaysInFirstWeek(4);
String time = dateFormat.format(calendar.getTime()).toString();
System.out.println(time);
}
输出结果:2016-01-04
意思是2016年的1月4日是2016年的第一周的周一
java 跨年 周计算公式_Java关于周跨年的周数计算相关推荐
- java 周历_Java中公历和ISO 8601周历的一个坑
作者:flhuoshan链接:https://hacpai.com/article/1423812556502 如果尝试运行下面的代码,其结果可能会让你意外: 运行结果为: 2014-12-29 20 ...
- java 周次_java处理年、月、周次以及起至日期大全
import java.util.Calendar; /** * Copyright 2009 XXX, Inc. All Rights Reserved. * Class Test.java 说 ...
- java 跨域上传_java后台图片跨域上传图片 文件
发送方 @ResponseBody @RequestMapping(value="/imgUpLoadNewOneKuaYu")public String imgUpLoadNew ...
- java调用系统时间函数_JAVA自学笔记:不使用系统函数来计算日期处于当年的第多少天...
前段时间练习了一个求闰年的功能,现在就可以用上啦,这次写一个不借助类库的时间函数,利用基础代码写一个计算求日期处于当年的第多少天的函数. 虽然也有简单的方法,例如直接定义每月的天数累加,然后加上当月的 ...
- Java hibernate假外键_java – Hibernate:外键的列数错误
我已经定义了我的两个实体类User和Permission之间的多对多关系.用户具有username和countyId的主键组合,我的Permission表具有常规整数Id.表UserPermissio ...
- java计算点在圆内外_java – 在O((n s)log n中计算圆交叉点)
我试图弄清楚如何设计一个能够以O((n s)log n)复杂度完成此任务的算法.是交叉点的数量.我试过在网上搜索,却找不到东西. 无论如何,我意识到拥有一个好的数据结构是关键.我在java:TreeM ...
- java实现频繁项集_java实现Apriori算法——频繁项集的计算
请注意,本文编写于 1195 天前,最后修改于 708 天前,其中某些信息可能已经过时. 前言 之前学校开的选修课<数据挖掘>,布置的两道算法题,时间有限完成其中一道:用Apriori算法 ...
- java 一周前日期_java获取当前时间前一周、前一月、前一年的时间
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar c = Calend ...
- Java编程实现获取本周在当前年的第几周、当前月的第几周、当前季度的第几季度
/*** 项目:Java编程实现获取本周在当前年的第几周.当前月的第几周.当前季度的第几季度* 时间:2019/8/14* 作者:郑翰林*/import java.util.Calendar; pub ...
- java 根据某个日期查询出是某年的第几周
文章目录 前言 一.java根据某个日期查询出是某年的第几周 前言 做记录用: 一.java根据某个日期查询出是某年的第几周 public class WeekByDate {public stati ...
最新文章
- oracle10g库连接报错
- 数据结构学习之栈求解n皇后问题
- 揭秘阿里小蜜:基于检索模型和生成模型相结合的聊天引擎 | PaperDaily #25
- 二:unittest框架配合selenium之xpath定位
- spring cloud报错解决:java.lang.ClassNotFoundException: com.netflix.servo.monitor.Monitors
- 保姆级的Arduino循迹小车研发日志及一些坑(其中包含L298N、Arduino、TCRT5000以及1:48的TT电机的使用)
- 用flash做古诗动画_《古诗三首》Flash动画课件
- 一、计算机的基础知识
- 黑龙江农垦科技职业学院喜迎寒假多校联赛2(快乐ak场)
- 二分法算一元三次方程
- OpenStack 启动虚拟机 Booting from Hard Disk
- juniper官网相关网址
- 高通骁龙820A凭什么能赢得众多车厂的芳心
- jquery保留两位小数方法,字符串保留两位小数
- projectManager
- [计算机图形学]重心坐标应用纹理(前瞻预习/复习回顾)
- 编程输入年份和月份,输出该月份有多少天。
- 人工智能对校园带来的改变
- 计算机应用基础题库答案,大学生计算机应用基础试题及答案
- 构造等比数列,求数列通项。