如何通过给出一个月中的一周和一周中的一天来获得日期。
示例:如果我需要2018年11月的第三个星期二。
月周:3,周日:3
预计日期:2018年11月20日
但我们得到的价值是:2018年11月13日。因为本月的开始日(星期四)少于预期的日期(星期二)。
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,2018 );
calendar.set(Calendar.MONTH, 10);
calendar.set(Calendar.WEEK_OF_MONTH, 3);
calendar.set(Calendar.DAY_OF_WEEK, 3);
System.out.println("Time " + calendar.getTime());
我怎样才能得到正确的日期??
如果你想使用日历,那么:
int year = 2018;
int month = 10; // zero based November
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
calendar.set(Calendar.DAY_OF_WEEK_IN_MONTH, 3);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.YEAR, year);
System.out.println(calendar.getTime());
您可以使用以下代码:
LocalDate.now().with(TemporalAdjusters.dayOfWeekInMonth(3, DayOfWeek.TUESDAY));
这将输出:
2018-11-20
更多信息可以在这里的java文档中找到
如果您使用的是Java 8,您可以这样做,
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
LocalDate input = LocalDate.now();
int ordinal = 3;
DayOfWeek weekday = DayOfWeek.THURSDAY;
TemporalAdjuster ta = TemporalAdjusters.dayOfWeekInMonth(ordinal, weekday) ;
LocalDate adjusted = input.with( ta );
System.out.println(adjusted.toString());
}
}
我从这里开始,在给定的链接中有更多的方法可以做到这一点。
我有一个课堂作业: 该类应该有计算两个日期之间天数的方法,返回一周中的哪一天,并给出给定日期的黄道带符号。 这是我写的代码: > 当我用YYY\MM\DD初始化<code>日期时,在检查周日以获取近期日期时,一切都很完美,但当我输入出生日期(1991\11\14)时,它返回到星期三,但我出生在星期四。 当我试图获取day和mont来检查黄道十二宫时,它完全崩溃了,当我输入11时返回0(对于mont
我正在尝试为我们的财务部门生成一些代码,他们需要一个字段,该字段将为他们提供一年中的当前一周,但以星期天为基础,这是一周的第一天。例如01-25-16(MM dd yyyy)将是第4周。然而,当我尝试使用和
如何分类?例如,我希望一周的第一天是星期一。由此: 周一至周二周三至周五周六 我想要这个: 星期一至星期二星期三星期五星期六至星期日 或者我希望我一周的第一天是周五 那么在输出中应该是这样的: 星期五星期六星期一星期二星期三星期四
问题内容: 指定日期时: 我怎么知道这是每月的第三周? 如果我要这个约会怎么办? 我知道如果给定的日期是in年(双性恋),则只有2月有4周 问题答案:
问题内容: 假设我有2011年1月3日,我想在一周的第一天,也就是星期天,那是2011年1月2日,我该怎么做? 原因是我有此查询: 是的,我意识到起源拼写错误,但是在此之前我就在这里,因此由于太多内部应用程序引用了它,因此我无法对其进行更正。 因此,我按周分组,但我希望以此填充我的图表,所以我不能让所有的周初看起来都像不同的日期。我该如何解决? 问题答案: 如果您需要处理从星期一开始的几周,也可以
问题内容: 我想在下一个(例如)星期一的日期/时间创建的实例。 Java Time API中是否有任何方法,还是应该计算当前日期和目标日期之间有多少天,然后使用LocalDateTime.of()方法? 问题答案: 无需手动进行任何计算。 您可以使用方法通过调节器来调节给定的日期。一周的第二天有内置的调节器: 返回下一个星期几调整器,它将日期调整为在调整日期之后指定的星期几中的第一个匹配项。 该代