本文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

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

  1. java获取一年的周数和间隔天数

    java获取一年的周数和间隔天数 import java.text.ParseException; import java.text.SimpleDateFormat; import java.uti ...

  2. JAVA获取当前日期时间所在周的周一和周日日期

    /** * 获取当前时间所在周的周一和周日的日期时间 * @return */ public static Map<String,String> getWeekDate() { Map&l ...

  3. java获取当前上一周、上一月、上一年的时间

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar c = Calend ...

  4. java获取当前日期所在的周的周一,并以周一为一周开始

    public String getMonday(String date) { if (date == null || date.equals("")) { System.out.p ...

  5. java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.uti ...

  6. Java获取某年某周的第一天

    Java获取某年某周的第一天 1.设计源码 FirstDayOfWeek.java: /** * @Title:FirstDayOfWeek.java * @Package:com.you.freem ...

  7. Java获取日期属于当年第几周

    String today = "2013-01-14"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM- ...

  8. 20145212 《Java程序设计》第9周学习总结

    20145212 <Java程序设计>第9周学习总结 教材学习内容总结 一.JDBC架构 1.数据库驱动 这里的驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插 ...

  9. 20145206邹京儒《Java程序设计》第6周学习总结

    20145206 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入/输出 Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象. 从应用程序角度来看 ...

随机推荐

  1. ADB 在 Android SDK 的中的路径

    以前 adb.exe 是在 sdk/tools 目录下 现在 安装 sdk 之后, 需要打开 SDK Manager 下载 `Android SDK Platform-tools` 然后, 在 sdk ...

  2. 清除UIWebView的缓存

    //清除cookies NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCook ...

  3. MySQL-profiling的使用

    分析SQL执行带来的开销是优化SQL的重要手段.在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析.该参数可以在全局和session级别来设置.对于全局级别则作用于整个MySQL ...

  4. scp noneed passwd

    经常在不同linux机器之间互相scp拷文件,每次总是要输入密码才可行. 通过ssh-keygen生成公钥,在两台机器之间互相建立信任通道即可. 假设本地机器client,远程机器为server. 1 ...

  5. configuring tortoise git and vs code.

    Preparation, SSH keygen: $ git config --global user.name "calos" $ git config --global use ...

  6. C++之路进阶——边表

    边表:利用边的关系来表示一个图. 用到数组: head//head[i]表示从i点出发的第一条边的编号; next[i]//与第i条边起点相同的下一条边的编号; a[i]//第i条边的终点; val[ ...

  7. android05

    #ANR(application not response) 应用程序无响应原因: >主线程里面执行了耗时的操作.就会导致应用程序无响应. <自己动手写操作系统> 带界面的应用程序都 ...

  8. java冒泡排序算法

    /** * 冒泡排序算法:每次 * @author shaobn * @description 每次都会确定一个最大的值 即固定了,所以会每次-i; */ public class Test1 { p ...

  9. oracle的索引维护

    索引重建 Alter index idx_name rebuild partition index_partition_name [online nologging] 需要对每个分区索引做rebuil ...

  10. Oracle中游标返回多条数据的情况

    DECLARE -- 定义类型. TYPE test_type IS TABLE OF test_main%ROWTYPE; test_data test_type; -- 定义游标. CURSOR ...