import java.util.*; import java.text.SimpleDateFormat; // current date String dateNew = today() // tomorrow String tomorrow = tomorrow() // yesterday String yesterday = yesterday() // the day before yesterday String theDayBeforeYesterday = theDayBeforeYesterday() // Last Market Close String lastMarketClose = lastMarketClose() log.info "------> lastMarketClose : "+lastMarketClose // Last Market Close -2 days String lastMarketCloseMinus2Days = lastMarketCloseMinus2Days() // Two years ago of Last Market Close -2 days String twoYearsAgoOfLastMarketCloseMinus2Days = twoYearsAgoOfLastMarketCloseMinus2Days(lastMarketCloseMinus2Days) // yesterday of Last Market Close String yesterdayOfLastMarketClose = yesterdayOfLastMarketClose(lastMarketClose) // a month ago of Last Market Close String aMonthAgoOfLastMarketClose = aMonthAgoOfLastMarketClose(lastMarketClose) // three months ago of Last Market Close String threeMonthsAgoOfLastMarketClose = threeMonthsAgoOfLastMarketClose(lastMarketClose) // three years ago of Last Market Close String threeYearsAgoOfLastMarketClose = threeYearsAgoOfLastMarketClose(lastMarketClose) log.info "------> threeYearsAgoOfLastMarketClose : "+threeYearsAgoOfLastMarketClose // the last day of last week String theLastDayOfLastWeek = theLastDayOfLastWeek() // the last day of last month String theLastDayOfLastMonth = theLastDayOfLastMonth() // Get the same day of last month String theSameDayOfLastMonth = theSameDayOfLastMonth() // The first day of the quarter String theFirstDayOfTheQuarter = theFirstDayOfTheQuarter() // The last day of last quarter String theLastDayOfLastQuarter = theLastDayOfLastQuarter(theFirstDayOfTheQuarter) // a year ago after The last day of last quarter String aYearAgoAfterTheLastDayOfLastQuarter = aYearAgoAfterTheLastDayOfLastQuarter(theFirstDayOfTheQuarter) // The first day of last quarter String theFirstDayOfLastQuarter = theFirstDayOfLastQuarter(theFirstDayOfTheQuarter) // The last day of two quarters ago String theLastDayOfTwoQuartersAgo = theLastDayOfTwoQuartersAgo(theLastDayOfLastQuarter) // The first day of six months ago after two quarters String theFirstDayOfSixMonthsAgoAfterTwoQuarters = theFirstDayOfSixMonthsAgoAfterTwoQuarters(theLastDayOfTwoQuartersAgo) // yesterday of three months ago String yesterdayOfThreeMonthsAgo = yesterdayOfThreeMonthsAgo() // The first day of two months ago String theFirstDayOfTwoMonthsAgo = theFirstDayOfTwoMonthsAgo() // The last day of two months ago String theLastDayOfTwoMonthsAgo = theLastDayOfTwoMonthsAgo() // The first day of three months ago String theFirstDayOfThreeMonthsAgo = theFirstDayOfThreeMonthsAgo() // The first day of six months ago String theFirstDayOfSixMonthsAgo = theFirstDayOfSixMonthsAgo() // The first day of this year String theFirstDayOfThisYear = theFirstDayOfThisYear() // The last day of last year String theLastDayOfLastYear = theLastDayOfLastYear() // tomorrow of last year String tomorrowOfLastYear = tomorrowOfLastYear() // the first day of this month last year String theFirstDayOfThisMonthLastYear = theFirstDayOfThisMonthLastYear() // the first day of last year String theFirstDayOfLastYear = theFirstDayOfLastYear() // the same day of this month three years ago String theSameDayOfThisMonthThreeYearsAgo = theSameDayOfThisMonthThreeYearsAgo() // the first day of this month three years ago String theFirstDayOfThisMonthThreeYearsAgo = theFirstDayOfThisMonthThreeYearsAgo() // the first day of three years ago String theFirstDayOfThreeYearsAgo = theFirstDayOfThreeYearsAgo() // Set the project level property : currentDate,yesterDay,lastMonth , its value will updated with dateNew testRunner.testCase.testSuite.project.setPropertyValue( "currentDate", dateNew ) testRunner.testCase.testSuite.project.setPropertyValue( "tomorrow", tomorrow ) testRunner.testCase.testSuite.project.setPropertyValue( "yesterday", yesterday ) testRunner.testCase.testSuite.project.setPropertyValue( "theDayBeforeYesterday", theDayBeforeYesterday ) testRunner.testCase.testSuite.project.setPropertyValue( "lastMarketClose", lastMarketClose ) testRunner.testCase.testSuite.project.setPropertyValue( "lastMarketCloseMinus2Days", lastMarketCloseMinus2Days ) testRunner.testCase.testSuite.project.setPropertyValue( "twoYearsAgoOfLastMarketCloseMinus2Days", twoYearsAgoOfLastMarketCloseMinus2Days ) testRunner.testCase.testSuite.project.setPropertyValue( "threeYearsAgoOfLastMarketClose", threeYearsAgoOfLastMarketClose ) testRunner.testCase.testSuite.project.setPropertyValue( "theDayBeforeYesterday", theDayBeforeYesterday ) testRunner.testCase.testSuite.project.setPropertyValue( "theLastDayOfLastWeek", theLastDayOfLastWeek ) testRunner.testCase.testSuite.project.setPropertyValue( "yesterdayOfLastMarketClose", yesterdayOfLastMarketClose ) testRunner.testCase.testSuite.project.setPropertyValue( "aMonthAgoOfLastMarketClose", aMonthAgoOfLastMarketClose ) testRunner.testCase.testSuite.project.setPropertyValue( "threeMonthsAgoOfLastMarketClose", threeMonthsAgoOfLastMarketClose ) testRunner.testCase.testSuite.project.setPropertyValue( "theFirstDayOfTheQuarter", theFirstDayOfTheQuarter ) testRunner.testCase.testSuite.project.setPropertyValue( "theLastDayOfLastQuarter", theLastDayOfLastQuarter ) testRunner.testCase.testSuite.project.setPropertyValue( "aYearAgoAfterTheLastDayOfLastQuarter", aYearAgoAfterTheLastDayOfLastQuarter ) testRunner.testCase.testSuite.project.setPropertyValue( "theFirstDayOfLastQuarter", theFirstDayOfLastQuarter ) testRunner.testCase.testSuite.project.setPropertyValue( "theLastDayOfTwoQuartersAgo", theLastDayOfTwoQuartersAgo ) testRunner.testCase.testSuite.project.setPropertyValue( "theFirstDayOfSixMonthsAgoAfterTwoQuarters", theFirstDayOfSixMonthsAgoAfterTwoQuarters ) testRunner.testCase.testSuite.project.setPropertyValue( "theSameDayOfLastMonth", theSameDayOfLastMonth ) testRunner.testCase.testSuite.project.setPropertyValue( "theLastDayOfLastMonth", theLastDayOfLastMonth ) testRunner.testCase.testSuite.project.setPropertyValue( "yesterdayOfThreeMonthsAgo", yesterdayOfThreeMonthsAgo ) testRunner.testCase.testSuite.project.setPropertyValue( "theFirstDayOfTwoMonthsAgo", theFirstDayOfTwoMonthsAgo ) testRunner.testCase.testSuite.project.setPropertyValue( "theLastDayOfTwoMonthsAgo", theLastDayOfTwoMonthsAgo ) testRunner.testCase.testSuite.project.setPropertyValue( "theFirstDayOfThreeMonthsAgo", theFirstDayOfThreeMonthsAgo ) testRunner.testCase.testSuite.project.setPropertyValue( "theFirstDayOfSixMonthsAgo", theFirstDayOfSixMonthsAgo ) testRunner.testCase.testSuite.project.setPropertyValue( "theFirstDayOfThisYear", theFirstDayOfThisYear ) testRunner.testCase.testSuite.project.setPropertyValue( "theLastDayOfLastYear", theLastDayOfLastYear ) testRunner.testCase.testSuite.project.setPropertyValue( "tomorrowOfLastYear", tomorrowOfLastYear ) testRunner.testCase.testSuite.project.setPropertyValue( "theFirstDayOfThisMonthLastYear", theFirstDayOfThisMonthLastYear ) testRunner.testCase.testSuite.project.setPropertyValue( "theFirstDayOfLastYear", theFirstDayOfLastYear ) testRunner.testCase.testSuite.project.setPropertyValue( "theSameDayOfThisMonthThreeYearsAgo", theSameDayOfThisMonthThreeYearsAgo ) testRunner.testCase.testSuite.project.setPropertyValue( "theFirstDayOfThisMonthThreeYearsAgo", theFirstDayOfThisMonthThreeYearsAgo ) testRunner.testCase.testSuite.project.setPropertyValue( "theFirstDayOfThreeYearsAgo", theFirstDayOfThreeYearsAgo ) //**********************************************************************Methods************************************************************************** def today(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); str = sdf.format(lastDate.getTime()); return str; } def yesterday(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.DATE, -1); str = sdf.format(lastDate.getTime()); return str; } def theDayBeforeYesterday(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.DATE, -2); str = sdf.format(lastDate.getTime()); return str; } def theLastDayOfLastMonth(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.MONTH, -1); lastDate.set(Calendar.DATE, 1); lastDate.roll(Calendar.DATE, -1); str = sdf.format(lastDate.getTime()); return str; } def theSameDayOfLastMonth(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.roll(Calendar.MONTH, -1); str = sdf.format(lastDate.getTime()); return str; } def tomorrow(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def yesterdayOfThreeMonthsAgo(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.MONTH, -3); lastDate.add(Calendar.DATE, -1); str = sdf.format(lastDate.getTime()); return str; } def theFirstDayOfTwoMonthsAgo(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.MONTH, -2); lastDate.set(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def theLastDayOfTwoMonthsAgo(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.MONTH, -2); lastDate.set(Calendar.DATE, 1); lastDate.roll(Calendar.DATE, -1); str = sdf.format(lastDate.getTime()); return str; } def theFirstDayOfThreeMonthsAgo(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.MONTH, -3); lastDate.set(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def theFirstDayOfSixMonthsAgo(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.MONTH, -6); lastDate.set(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def tomorrowOfLastYear(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.YEAR, -1); lastDate.add(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def theSameDayOfThisMonthThreeYearsAgo(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.YEAR, -3); str = sdf.format(lastDate.getTime()); return str; } def theFirstDayOfThisMonthThreeYearsAgo(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.YEAR, -3); lastDate.set(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def theFirstDayOfThreeYearsAgo(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.YEAR, -3); lastDate.set(Calendar.MONTH, 0); lastDate.set(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def theFirstDayOfThisYear(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.set(Calendar.MONTH, 0); lastDate.set(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def theLastDayOfLastYear(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.YEAR, -1); lastDate.set(Calendar.MONTH, 11); lastDate.set(Calendar.DATE, 31); str = sdf.format(lastDate.getTime()); return str; } def theFirstDayOfTheQuarter(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); int i = 0 int j = 0 int month = lastDate.get(Calendar.MONTH) if (month >= 1 && month <= 3) { j = 0; } if (month >= 4 && month <= 6) { j = 3; } if (month >= 7 && month <= 9) { j = 6; } if (month >= 10 && month <= 12) { j = 9; } lastDate.set(Calendar.MONTH, j); lastDate.set(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def theLastDayOfLastQuarter(String theFirstDayOfTheQuarter){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(theFirstDayOfTheQuarter) Calendar lastDate = Calendar.getInstance(); lastDate.setTime(date); lastDate.add(Calendar.MONTH, -1); lastDate.roll(Calendar.DATE, -1); str = sdf.format(lastDate.getTime()); return str; } def aYearAgoAfterTheLastDayOfLastQuarter(String theFirstDayOfTheQuarter){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(theFirstDayOfTheQuarter) Calendar lastDate = Calendar.getInstance(); lastDate.setTime(date); lastDate.add(Calendar.YEAR, -1); str = sdf.format(lastDate.getTime()); return str; } def theFirstDayOfLastQuarter(String theFirstDayOfTheQuarter){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(theFirstDayOfTheQuarter) Calendar lastDate = Calendar.getInstance(); lastDate.setTime(date); lastDate.add(Calendar.MONTH, -3); str = sdf.format(lastDate.getTime()); return str; } def theLastDayOfTwoQuartersAgo(String theLastDayOfLastQuarter){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(theLastDayOfLastQuarter) Calendar lastDate = Calendar.getInstance(); lastDate.setTime(date); lastDate.add(Calendar.MONTH, -3); lastDate.set(Calendar.DATE, 1); lastDate.roll(Calendar.DATE, -1); str = sdf.format(lastDate.getTime()); return str; } def theFirstDayOfSixMonthsAgoAfterTwoQuarters(String theLastDayOfTwoQuartersAgo){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(theLastDayOfTwoQuartersAgo) Calendar lastDate = Calendar.getInstance(); lastDate.setTime(date); lastDate.add(Calendar.MONTH, -8); lastDate.set(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def theFirstDayOfThisMonthLastYear(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.YEAR, -1); lastDate.set(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def theFirstDayOfLastYear(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.YEAR, -1); lastDate.set(Calendar.MONTH,0) lastDate.set(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def theLastDayOfLastWeek(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.WEEK_OF_MONTH,-1); lastDate.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); str = sdf.format(lastDate.getTime()); return str; } def lastMarketClose(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); String ss = lastDate.get(Calendar.DAY_OF_WEEK) if ("1".equals(ss)){ lastDate.add(Calendar.WEEK_OF_MONTH,-1); lastDate.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY) } if ("7".equals(ss)){ lastDate.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY) } str = sdf.format(lastDate.getTime()); return str; } def lastMarketCloseMinus2Days(){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.DATE, -2); String ss = lastDate.get(Calendar.DAY_OF_WEEK) if ("1".equals(ss) ){ lastDate.add(Calendar.WEEK_OF_MONTH,-1); lastDate.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY) } if ("7".equals(ss)){ lastDate.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY) } str = sdf.format(lastDate.getTime()); return str; } def twoYearsAgoOfLastMarketCloseMinus2Days(String lastMarketCloseMinus2Days){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(lastMarketCloseMinus2Days) Calendar lastDate = Calendar.getInstance(); lastDate.setTime(date); lastDate.add(Calendar.YEAR, -2) lastDate.add(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def yesterdayOfLastMarketClose(String lastMarketClose){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(lastMarketClose) Calendar lastDate = Calendar.getInstance(); lastDate.setTime(date); lastDate.add(Calendar.DATE, -1); str = sdf.format(lastDate.getTime()); return str; } def aMonthAgoOfLastMarketClose(String lastMarketClose){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(lastMarketClose) Calendar lastDate = Calendar.getInstance(); lastDate.setTime(date); lastDate.add(Calendar.MONTH, -1) lastDate.add(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def threeMonthsAgoOfLastMarketClose(String lastMarketClose){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(lastMarketClose) Calendar lastDate = Calendar.getInstance(); lastDate.setTime(date); lastDate.add(Calendar.MONTH, -3) lastDate.add(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; } def threeYearsAgoOfLastMarketClose(String lastMarketClose){ String str = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(lastMarketClose) Calendar lastDate = Calendar.getInstance(); lastDate.setTime(date); lastDate.add(Calendar.YEAR, -3) lastDate.add(Calendar.DATE, 1); str = sdf.format(lastDate.getTime()); return str; }