Java:如何获取一个月中x天的日期(例如2012年2月的第三个星期一)

Java:如何获取一个月中x天的日期(例如2012年2月的第三个星期一),第1张

Java:如何获取一个月中x天的日期(例如2012年2月的第三个星期一)

在Java中执行日期算术(通常,除了最琐碎的事情之外,还可以对日期时间做任何事情),Joda-
Time
就是这样的答案:

public static LocalDate getNDayOfMonth(int dayweek,int nthweek,int month,int year)  {   LocalDate d = new LocalDate(year, month, 1).withDayOfWeek(dayweek);   if(d.getMonthOfYear() != month) d = d.plusWeeks(1);   return d.plusWeeks(nthweek-1);}public static LocalDate getLastWeekdayOfMonth(int dayweek,int month,int year) {   LocalDate d = new LocalDate(year, month, 1).plusMonths(1).withDayOfWeek(dayweek);   if(d.getMonthOfYear() != month) d = d.minusWeeks(1);  return d;}public static void main(String[] args) {   // second wednesday of oct-2011   LocalDate d = getNDayOfMonth( DateTimeConstants.WEDNESDAY, 2, 10, 2011);   System.out.println(d);   // last wednesday of oct-2011   LocalDate dlast = getLastWeekdayOfMonth( DateTimeConstants.WEDNESDAY,  10, 2011);   System.out.println(dlast);}



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5426824.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存