2017-05-02 50 views
-4

我有几个要求,我需要验证,如果今天的日期是与一个条件匹配,如果真的在数据库中创建记录。Java检查今天的日期是两周周二

但条件是这样的 - 周二周二,周二周四。 任何人都可以提供如何实现这一点?

+6

看起来你希望我们为你写一些代码。尽管许多用户愿意为遇险的编码人员编写代码,但他们通常只在海报已尝试自行解决问题时才提供帮助。证明这一努力的一个好方法是包含迄今为止编写的代码,示例输入(如果有的话),期望的输出以及实际获得的输出(控制台输出,回溯等)。您提供的细节越多,您可能会收到的答案就越多。检查[FAQ]和[问]。 –

+0

当然,我已经尝试使用乔达时间和日历代码示例。 – hanmayya

+2

@hanmayya然后发布您的代码 – litelite

回答

0

private static Calendar cacheCalendar;

  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) { 

          cacheCalendar = Calendar.getInstance(); 

          for (int i = 1; i < 13; i++) { 
              // second wednesday of oct-2011 

              LocalDate secondMonday = getNDayOfMonth(DateTimeConstants.MONDAY, 2, i, cacheCalendar.get(Calendar.YEAR)); 
              System.out.println("secondMonday= " + secondMonday); 

              LocalDate secondTuesday = getNDayOfMonth(DateTimeConstants.TUESDAY, 2, i, 
                      cacheCalendar.get(Calendar.YEAR)); 
              System.out.println("secondTuesday= " + secondTuesday); 

              LocalDate monthlyTuesday = getNDayOfMonth(DateTimeConstants.TUESDAY, 1, i, 
                      cacheCalendar.get(Calendar.YEAR)); 
              System.out.println("monthlyTuesday= " + monthlyTuesday);             

              LocalDate weeklyFirstFriday = getNDayOfMonth(DateTimeConstants.FRIDAY, 1, i, 
                      cacheCalendar.get(Calendar.YEAR)); 
              System.out.println("weeklyFirstFriday= " + weeklyFirstFriday);             


          }         
      } 
相关问题