如何检查日期是否在某个星期或季度

问题描述:

我需要一个java逻辑来检查某个日期(让我们假设18-04-2017)是否落在当前的一周。 我们还有一年4季度 (一月,二月,三月) - 一季度 (四月,五月,六月) - 二季度 因此,我需要知道这个相同的日期是否落在当前季度。 欢迎任何答复如何检查日期是否在某个星期或季度

+2

你有试过什么吗? – tnw

+0

不应该被关闭为“太宽泛”,因为它非常具体。但是它应该作为许多问题的重复来关闭,如果某个日期处于一个范围之内,那么这个问题就会在测试中出现。提示:'org.threeten.extra.YearQuarter :: atDay'和':: atEndOfQuarter'。 –

我会说做这些步骤,

1 - 找出第一个和最后一周 Get current week start and end date in Java - (MONDAY TO SUNDAY)

2日 - 检查日期是范围还是痛苦落在 Java: how do I check if a Date is within a certain range? - 如果是,它落在 一周 - 如果没有,它不

3 - 做宿舍一样,有开始和结束日期,并检查日期在betwe无论他们是否

//import java.util.*; 
    //import java.text.*; 

public static void main(String[] args) { 

    try { 
     SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 

     Date dateToTest = sdf.parse("18/04/2017"); 

     //lets assume the date source is a variable, hence extract year off of it 

     String firstDateInString = "01/04/" + Integer.toString(getYear(dateToTest)); 
     String secondDateInString = "01/07/" + Integer.toString(getYear(dateToTest)); 
     String thirdDateInString = "01/10/" + Integer.toString(getYear(dateToTest)); 

     Date firstDate = sdf.parse(firstDateInString); 
     Date secondDate = sdf.parse(secondDateInString); 
     Date thirdDate = sdf.parse(thirdDateInString); 


     //check if in first quarter 
     //if date is before April it has to be first Q 
     if (dateToTest.before(firstDate)) { 
      System.out.println("First Quarter"); 
      return; 
     } 
     //check if in second quarter 
     //if date is before August it has to be first Q 
     if (dateToTest.before(secondDate)) { 
      System.out.println("Second Quarter"); 
      return; 
     } 

     //check if in 3rd quarter 
     //if date is before August it has to be first Q 
     if (dateToTest.before(thirdDate)) { 
      System.out.println("third Quarter"); 
      return; 
     } 

     //well then the date must be in 4th quarter 
     System.out.println("Fourth quarter"); 
    } catch (Exception err) { 
     System.out.println(err); 
    } 
} 

private static int getYear(Date date) { 
    Calendar cal = Calendar.getInstance(); 
    cal.setTime(date); 
    return cal.get(Calendar.YEAR); 

} 

免责声明:此代码不是最佳方法。请注意,这里我不假定当前的日期或年份。这里的目的是仅显示一般策略。

+0

谢谢..实施周..现在需要找出一个办法的宿舍... – shahed

+0

嗨@shahed请检查更新的答案为示例。请注意,该示例不直接回答您的问题。你仍然需要做一些工作来检查今年的季度。我希望它可以帮助:) –

+0

我认为这有助于达到目的..感谢Samip Sir .. 我会尝试给你反馈 – shahed