Skip to content

Instantly share code, notes, and snippets.

@ianibo
Created September 19, 2019 08:33
Show Gist options
  • Save ianibo/51ec018408dd2385c10759064b94e566 to your computer and use it in GitHub Desktop.
Save ianibo/51ec018408dd2385c10759064b94e566 to your computer and use it in GitHub Desktop.
groovysh that uses RRule
import groovy.grape.Grape
Grape.addResolver(name:'mvnRepository', root:'http://central.maven.org/maven2/')
Grape.addResolver(name:'kint', root:'http://nexus.k-int.com/content/repositories/releases')
Grape.grab(group:'org.scala-saddle', module:'google-rfc-2445',version:'20110304')
import com.google.ical.iter.RecurrenceIterator;
import com.google.ical.iter.RecurrenceIteratorFactory;
import com.google.ical.values.DateTimeValueImpl;
import com.google.ical.values.DateValue;
import com.google.ical.values.DateValueImpl;
import com.google.ical.values.Frequency;
import com.google.ical.values.RRule;
import com.google.ical.values.WeekdayNum;
import java.util.TimeZone;
rrule = new RRule('RRULE:FREQ=MINUTELY;COUNT=30;INTERVAL=15;WKST=MO');
startDateAsDV = new DateValueImpl(2019, 10, 1);
nextDate=null;
println("Create iterator");
iterator = RecurrenceIteratorFactory.createRecurrenceIterator(rrule, startDateAsDV, TimeZone.getDefault());
if(!iterator.hasNext()) {
return -1;
}
println("get next date");
nextDate = iterator.next();
println("next date: ${nextDate}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment