java - 日历 - 每周日期 - Java

标签 java date

public static void main(String[] args) {
  int week = 1;
  int year = 2010;


  Calendar calendar = Calendar.getInstance();
  calendar.clear();
  calendar.set(Calendar.WEEK_OF_YEAR, week);
  calendar.set(Calendar.YEAR, year);


  Date date = calendar.getTime();
  System.out.println(date);
}

如果我输入周、年,我会根据我们的桌面日历查找确切的开始和结束日期。 但上面的代码给出的输出为 2009 年 1 月 27 日,星期日。 我知道这是因为按照美国一周的默认第一天是星期日,但我需要根据桌面日历 2010 年 1 月 1 日,星期五 作为一周的开始日期

我的要求: 如果我的输入是:

  • 周为“1”,
  • 月份为“5”,
  • 年份为“2015”

我需要:

   1st May, 2015 --> as first day of the week
   2nd May, 2015 --> as last day of the week

如果我的输入是:

  • 周为“1”,
  • 月份为“6”,
  • 年份为“2015”

我需要:

   1st June, 2015 --> as first day of the week
   6th June, 2015 --> as last day of the week

有人可以帮助我吗?

最佳答案

不要使用 CALENDAR.Week,而是使用 Calendar.DAY_OF_YEAR。我刚刚测试了它,它对我有用:

public static void main(String[] args) {
    Calendar calendar = Calendar.getInstance();
    calendar.clear();
    calendar.set(Calendar.YEAR, 2010);
    calendar.set(Calendar.DAY_OF_YEAR, 1);
    System.out.println(calendar.getTime());
    calendar.set(Calendar.DAY_OF_YEAR, 7);
    System.out.println(calendar.getTime());
}

如果您希望它在任意一周内工作,只需做一些数学计算即可确定您想要一年中的哪一天。

编辑:如果您还想输入月份,可以使用Calendar.DAY_OF_MONTH。

关于java - 日历 - 每周日期 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30805716/

相关文章:

Java 类型变量依赖不匹配

java - TimerTask 中 ArrayList 的 add() 导致所有元素相同

java - JDBC:将日期值插入 MySQL

javascript - Dojo 中的日期和时间小部件

java - 我们是否总是需要扩展 struts-default 包?

Java:用 try catch block 函数包装代码?

ruby-on-rails - 在 Ruby on Rails 中查找两个日期之间的月数

javascript - jQuery datepicker解析日期抛出无效日期异常

java - 如何在 java 中的 long 前面放置固定数量的 0?

python + eyeD3 : cannot save date to mp3 metadata