Java获取当前第几周【转】

本文copy自:http://swxzqsd.blog.sohu.com/156208509.html

作者:camelcanoe

String today = "2010-01-11";
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  Date date = format.parse(today);
  Calendar calendar = Calendar.getInstance();
  calendar.setFirstDayOfWeek(Calendar.MONDAY);
  calendar.setTime(date);
  System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));

用到判断日期属于当年的第几周,用了一个有点复杂的代码。看Calendar类时,看到了WEEK_OF_YEAR,很实用。但是用时又出现了点小问题,比如2010-01-03,返回的结果是2(即2010年的第二个星期),原因是美国是以周日为每周的第一天。

我想到了更改星期的起始日,setFirstDayOfWeek(int
value),传了一个1,想把周一设成第一天,但是没有起到效果。查文档后改成了Calendar.MONDAY就好使了,却不太清楚为什么用1不好
使,用Calendar.MONDAY就行呢?

补:又查看了一下“常量字段值”,发现MONDAY的值根本就不是想当然的1,而是2。

SUNDAY :1

MONDYA :2

TUESDAY :3

WEDNESDAY :4

THURSDAY : 5

FRIDAY : 6

SATURDAY :7

时间: 2024-08-04 12:16:26

Java获取当前第几周【转】的相关文章

Java获取某年某周的第一天

1.设计源码 FirstDayOfWeek.java: /** * @Title:FirstDayOfWeek.java * @Package:com.you.freemarker.model * @Description:获取某年某周的第一天 * @author:Youhaidong(游海东) * @date:2014-5-29 下午11:29:53 * @version V1.0 */ package com.you.freemarker.model; import java.text.Si

Java获取某年某周的最后一天

1.设计源码 LastDayOfWeek.java: /** * @Title:LastDayOfWeek.java * @Package:com.you.freemarker.model * @Description:获取某年某周的最后一天 * @author:Youhaidong(游海东) * @date:2014-5-29 下午11:42:27 * @version V1.0 */ package com.you.freemarker.model; import java.text.Sim

20145334赵文豪 《Java程序设计》第4周学习总结

20145334赵文豪 <Java程序设计>第4周学习总结 教材学习内容总结 第六章知识点总结 1-继承共同行为:如果在程序设计上存在着重复,那就需要修改,可以吧相同的程序代码提升(pull up)为父类.extends关键字表示新建的类会扩充原有的类的行为. 2-多态与is-a:子类只能继承一个父类,并且子类与父类之间有一种is-a的关系,让不是一种的类扮演另一种类需要加上类似于 强制类型转换的语法.-使用单一接口操作多种类型的对象就是多态,个人的理解就是用一种父类来控制许多的子类. 3-重

20155335俞昆《java程序设计》第三周总结

20155335  2006-2007-2  <Java程序设计>第三周学习总结 ##  教材学习内容总结 首先,关键是区基本类型和类类型,,产生对象必须定义类,类是一个概念,并不存在,对象是存在的,符合累的定义,Java程序由一个个类构成类的里面是变量和函数, 主函数在类中形成的代码如下 Public  class  Mytest{ Public  static  void  main(String  args[  ]){ } } 类定义使用class关键词. 对象和引用的关系 Java中,

20145326 《Java程序设计》第9周学习总结

20145326 <Java程序设计>第9周学习总结 教材学习内容总结 第十六章 一.JDBC入门 1.JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作,开发人员无须接触底层数据库驱动程序的差异性,数据库本身是个独立运行的应用程序,你撰写的应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找.通常你的应用程序会利用一组专门与数据库进行通信协议的链接库,以简化与数据库沟通时的程序撰写.有时候,更换数据库的需求并不是没有,应用

JAVA年度安全 第六周 防止CSRF

本系列的译文暂停很久了,今后每周一篇直至完成 原文地址: http://www.jtmelton.com/2012/02/07/year-of-security-for-java-week-6-csrf-prevention-in-java/ Whatis it and why should I care? 跨站点请求伪造(CSRF)是指受害者当被一个网站授权后,在其未知觉的情况下被强行向这个网站发起一个未知的或者未期望的请求.网站的授权凭证通常以浏览器的cookie方式保存,每次请求会自动传送

20145237 《Java程序设计》第七周学习总结

20145237 <Java程序设计>第七周学习总结 教材学习内容总结 第十三章   一.认识时间与日期   1.时间的度量   在正式认识Java提供了哪些时间处理API之前,得先来了解一些时间.日期的历史问题,这样你才会知道,时间日期确实是个很复杂的问题,而使用程序来处理时间日期,也不仅仅是使用API的问题.   a.格林威治标准时间:格林威治标准时间简称GMT时间,一开始是参考自格林威治皇家天文台的标准太阳时间,格林威治标准时间的正午是太阳抵达天空最高点之时,格林威治标准时间常被不严谨的

20145326 《Java程序设计》第7周学习总结

20145326 <Java程序设计>第7周学习总结 教材学习内容总结 第十二章 一.认识Lambda语法 1.Lambda语法概览 Arrays的sort()方法可以用来排序,只不过你要告诉它两个元素比较时顺序是什么,sort()规定你得操作java.util.Comparator来说明这件事,我们可以通过byLength()来让排序的意图更清楚,只是操作Comparator时的匿名类时依旧冗长,有太多重复信息,如果使用JDK8的话,你可以使用Lambda特性去除重复的信息.Lambda不只

Java获取时间 时间计算 转换时间工具类

Java获取时间 时间计算 转换时间工具类 JAVA日期工具类 package com.mh.util; import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 时间日期转换工具类 */ public class DateTimeUtil { /** *