date interval calculation ignoring weekends in JIRA

Jeannette Lamb June 25, 2014

I have a question related to an older post, see below. I would like to modify this to calculate the time between a custom field, "Reported" and the current date/time in JIRA.

https://answers.atlassian.com/questions/250563/jira-misc-custom-fields-date-interval-calculation-ignoring-weekends

<!-- @@Formula:long days(Date start, Date end) {
//Ignore argument check
Calendar c1 = GregorianCalendar.getInstance();
c1.setTime(start);
int w1 = c1.get(Calendar.DAY_OF_WEEK);
c1.add(Calendar.DAY_OF_WEEK, -w1 + 1);
Calendar c2 = GregorianCalendar.getInstance();
c2.setTime(end);
int w2 = c2.get(Calendar.DAY_OF_WEEK);
c2.add(Calendar.DAY_OF_WEEK, -w2 + 1);
//end Saturday to start Saturday
long days = (c2.getTimeInMillis()-c1.getTimeInMillis())/(1000*60*60*24);
long daysWithoutSunday = days-(days*2/7);
if (w1 == Calendar.SUNDAY) {
w1 = Calendar.MONDAY;
}
if (w2 == Calendar.SUNDAY) {
w2 = Calendar.MONDAY;
}
return daysWithoutSunday-w1+w2;
}
if (issue.get("customfield_11618")==null || issue.get("customfield_11616")==null )
return null;
return days(issue.get("customfield_11616"), issue.get("customfield_11618"))
-->

1 answer

0 votes
Sabine Winkler
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 25, 2014

Hi,

try this for your days function - the function you use calculates intentionally without weekend.

Calendar c1 = GregorianCalendar.getInstance();
		c1.setTime(start);
		Calendar c2 = GregorianCalendar.getInstance();
		c2.setTime(end);
		long days = (c2.getTimeInMillis() - c1.getTimeInMillis()) / (1000 * 60 * 60 * 24);
		return days;

HTH, Sabine

Suggest an answer

Log in or Sign up to answer