zoukankan      html  css  js  c++  java
  • Java获取日期属于当年第几周

    String today = "2013-01-14";  
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");  
    Date date = null;  
    try {  
        date = format.parse(today);  
    } catch (ParseException e) {  
        // TODO Auto-generated catch block  
        e.printStackTrace();  
    }  
      
    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 获取当前时间,将天数减一天,返回Date.

    SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
    Date beginDate = new Date();
    Calendar date = Calendar.getInstance();
    date.setTime(beginDate);
    date.set(Calendar.DATE, date.get(Calendar.DATE) - 1);
    Date endDate = dft.parse(dft.format(date.getTime()));

     java获取当前日期是星期几

    1、使用Calendar类

     /**
       * 获取当前日期是星期几<br>
       * 
       * @param dt
       * @return 当前日期是星期几
       */
       public static String getWeekOfDate(Date dt) {
        //int[] weekDays = {7, 1, 2, 3, 4, 5, 6}; String[] weekDays
    = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; Calendar cal = Calendar.getInstance(); cal.setTime(dt); int w = cal.get(Calendar.DAY_OF_WEEK) - 1; if (w < 0) w = 0; return weekDays[w]; }

    2、使用SimpleDateFormat格式化日期

    Date date=new Date();

    SimpleDateFormat dateFm = new SimpleDateFormat("EEEE");

    dateFm.format(date);

    注:格式化字符串存在区分大小写

    对于创建SimpleDateFormat传入的参数:EEEE代表星期,如“星期四”;MMMM代表中文月份,如“十一月”;MM代表月份,如“11”;

    yyyy代表年份,如“2010”;dd代表天,如“25”

    int[] weekDays = {7, 1, 2, 3, 4, 5, 6};

  • 相关阅读:
    命令行参数
    数组的使用
    Hello World 和 模块分解
    20155234 2016-2017-2 《Java程序设计》第2周学习总结
    20155234 2016-2017-2 《Java程序设计》第1 周学习总结
    与虚拟机和linux的初次接触
    优秀技能经验及对java学习展望
    预备作业01
    20155231 实验三 敏捷开发与XP实践
    20155231 第十一周课堂代码练习
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/6773798.html
Copyright © 2011-2022 走看看