calender get方法_Calendar.get()方法--- WEEK_OF_YEAR 、MONTH、
1. WEEK_OF_YEAR 一年中的第几周
由于西方的一周指的是:星期日-星期六,星期日是一周的第一天,星期六是一周的最后一天,
所以,使用 calendar.get(Calendar.WEEK_OF_YEAR) 时应该注意一周的开始应该是哪一天
如果一周的开始是星期一,那么可以进行如下操作:
Calendar calendar=Calendar.getInstance();
calendar.set(2016,9,9); //2016-10-09 这一天是星期日
long week1=calendar.get(Calendar.WEEK_OF_YEAR);
calendar.setFirstDayOfWeek(Calendar.MONDAY); //设置一周的第一天是星期几
calendar.set(2016,9,9); / / 一定要在calendar.setFirstDayOfWeek();方法后重新设置一遍日期,否则无效
long week2=calendar.get(Calendar.WEEK_OF_YEAR);
注意:一年有52个周,calendar.get(Calendar.WEEK_OF_YEAR);的取值范围是:“1-52”,所以当一年中最后的几天超过52周,进入第53周时,将以下一年的第一周来计算
(跨年问题:跨年的那个星期获取 “WEEK_OF_YEAR”得到的结果总是“1”,)
如
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(2016,11,31); //2016-12-31
long week=calendar.get(Calendar.WEEK_OF_YEAR); //week= 1
2016-12-31 通过计算得到:1
2. MONTH 月份
也是因为西方文化的原因,一年的第一个月是从“0”开始算起的,一年中12个月份分别是:“0-11”,12指的是下一年的一月份
calendar.set(2016,12,9);
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
String date=format.format(calendar.getTime());
获得的结果是:2017-01-09
所以 为 calendar 设置“月份(MONTH)”时需要 “-1”
通过 calendar 获取“月份(month)”时需要 “+1”
3.DAY_OF_WEEK 星期几
String[] weeks = new String[]{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
int index=calendar.get(Calendar.DAY_OF_WEEK);
String weekDay=weeks[index-1];
返回的是周几,取值为“1-7” 指的是 “星期日-星期六”,所以获取星期几时需要 “-1”
(这个值跟一周的第一天是星期几无关)
4. SET() 方法
set(Calendar.DAY_OF_WEEK,Calendar.MONDAY):设置日期(calendar)为日期所在周的周一的日期(可以获取日期所在周的周一的日期)
calendar.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
String date=format.format(cal.getTime());
calender get方法_Calendar.get()方法--- WEEK_OF_YEAR 、MONTH、相关推荐
- idea生成类注释和方法注释的方法
目录标题 生成类注释 生成类注解模板 生成方法注释 生成方法注解模板 生成类注释 生成类注解模板 /** * @program: ${PROJECT_NAME} * @description: thi ...
- JS-9 JS常见内置类;包装类型;Number类方法与实例方法;Math方法;String类常见方法;数组方法(增删改查+遍历+排序);时间Date 构造函数+获取信息+设置信息+获取Unix时间戳
目录 1_包装类型 2_Number类补充 3_Math对象 4_String类的补充 4.1_基本使用 4.2_修改字符串 4.3_查找.替换字符串 开头与结尾 4.4_获取子字符串 4.5_其他方 ...
- 【java基础18:方法覆盖与多态】什么时候使用方法覆盖 toString方法的覆盖 多态的基础语法与作用 向上/向下转型
目录 方法覆盖Override 多态 方法覆盖Override 方法覆盖初体验,什么样的程序要方法覆盖 /*当前程序存在的问题(设计上的问题)??鸟儿在执行move()方法的时候,最好输出的结果是:& ...
- Go 学习笔记(34)— Go 方法声明、方法调用、方法值、方法表达式、切片对象方法、指针对象方法
1. 方法声明 Go 语言的方法非常纯粹, 可以看作特殊类型的函数, 其显式地将对象实例或指针作为函数的第一个参数, 并且参数名可以自己指定, 而不强制要求一定是 this 或 self .这个对象实 ...
- ajax post的回调函数另一个方法,jQueryajax–post()方法 - 米扑博客
jQuery ajax - post() 实例 请求 test.php 网页,忽略返回值: $.post("test.php"); 通过 AJAX POST 请求改变 div 元素 ...
- C++学习笔记24,方法重写与方法隐藏
该博文仅用于交流学习.请慎用于不论什么商业用途.本博主保留对该博文的一切权利. 博主博客:http://blog.csdn.net/qq844352155 转载请注明出处: 方法重写.是指在子类中又一 ...
- Java 8新特性——default方法(defenece方法)介绍
为什么80%的码农都做不了架构师?>>> 本文由 ImportNew - 黄小非 翻译自 blog.sanaulla.info.如需转载本文,请先参见文章末尾处的转载要求. 我 ...
- 【hibernate框架】核心开发接口-saveOrUpdate方法与delete方法
1.saveOrUpdate方法剖析 saveOrUpdate方法:分情况看是save还是update. 示例: public void testSaveOrUpdate(){Teacher t=ne ...
- python 类 公有属性、私有属性、公有方法、私有方法
python 类 公有属性.私有属性.公有方法.私有方法 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Int ...
最新文章
- LeetCode N-ary Tree Level Order Traversal(bfs)
- 补充部分官方文档里没有的Client Library以及代码提示Schema更新(三)
- hamcrest详细介绍
- 终端mysql Operation not permitted错误解决方案
- linux g++ 链接,Linux G++将64位共享库代码链接到静态库
- 移动端真机调试的两种方法
- MySQL show processlist
- 【直接下载】x86_64-6.3.0-release-win32-seh-rt_v5-rev2
- Java IO流笔记4 --- File类
- HBase简介、搭建环境及安装部署
- shell清空数据库表
- 论嵌入式单片机软件架构
- 【高数复盘】2.1导数概念
- Linux-磁盘分区,挂载
- 关于google浏览器打不开网页问题之容易被忽略的点
- Qt编写自定义控件:唱片播放控件
- 响应式卡片悬停效果 html+css
- 一张图搞懂微服务架构设计
- 输入法没有了 输入法不见了
- Unity 自动制作LowPoly随机形态的树预制体工具