我的星期从星期五开始,从星期四结束,我得到当月的周数列表。 在我的代码中,每件事情都运行正常但是当前的四个星期,但我希望前四周不是本周的下周。
brand
问题
输出
<xsl:template match="cars">
<xsl:copy>
<xsl:apply-templates select="car[contains($brandsSelect, @brand)]" />
</xsl:copy>
</xsl:template>
答案 0 :(得分:0)
一个不错的选择是在Android threeten backport中使用here's how to configure it。或者,如果您使用的API级别&gt; = 26,则只需使用 java.time 类。
此API使事情变得更容易。您可以使用WeekFields
类来定义您的周(从星期五开始):
// week starts on Friday
WeekFields wf = WeekFields.of(DayOfWeek.FRIDAY, 1);
第一个参数(DayOfWeek.FRIDAY
)是一周的第一天,第二个参数是第一周的天数。 Check the documentation了解有关这些字段如何影响班级行为的详细信息。
要获取当前日期,您可以使用LocalDate
类:
// current date
LocalDate dt = LocalDate.now();
然后你创建一个减去一定周数的循环,并使用WeekFields
来获取每周的第一天和最后一天。我还使用DateTimeFormatter
将日期打印到输出的相同格式:
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("dd-MMM", Locale.ENGLISH);
// get previous 4 weeks
for (int i = 4; i >= 1; i--) {
LocalDate pastWeek = dt.minusWeeks(i);
LocalDate startOfWeek = pastWeek.with(wf.dayOfWeek(), 1);
LocalDate endOfWeek = pastWeek.with(wf.dayOfWeek(), 7);
// you can add this String to your weekList
String week = startOfWeek.format(fmt) + " to " + endOfWeek.format(fmt);
System.out.println(week);
}
输出:
2月23日至3月1日 02年3月2日至3月8日 09年3月9日至3月15日 3月16日至3月22日