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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM