jodatime - How to make a date repeat every year for the last day of February in java for iCal google-rfc-2445 -


i need repeat date every last day of february, using joda time use rule generate dates days, weeks, months, etc. months working fine when years receive wrong outputs.

private static list<datetime> calculaterecurrentdates(datetime startdate, string recurrentrule) {     list<datetime> dates = new arraylist<datetime>();     timestamp startdate = timestamp.valueof("2011-02-28 10:10:10");     string recurrentrule = "rrule:freq=yearly;count=6;interval=1;";     string leapyearrule = "rrule:freq=yearly;count=6;interval=1;bymonthday=28,29;bysetpos=-1";      try {         datetimeiterable range = datetimeiteratorfactory.createdatetimeiterable(recurrentrule, startdate, datetimezone.utc, true);         (datetime date : range) {            dates.add(date);         }     } catch (parseexception e) {         dates = null;         logger.error(e.getmessage());     }     return dates; } 

but receive this:

2011-02-28t10:10:10.000z
2012-02-28t10:10:10.000z
2013-02-28t10:10:10.000z
2014-02-28t10:10:10.000z
2015-02-28t10:10:10.000z
2016-02-28t10:10:10.000z

and in case in leap year this:

2012-02-29t10:10:10.000z
2012-12-29t10:10:10.000z
2013-12-29t10:10:10.000z
2014-12-29t10:10:10.000z
2015-12-29t10:10:10.000z
2016-12-29t10:10:10.000z
2017-12-29t10:10:10.000z

how write 1 rule last day of february every year?

my solution count last day of year day before march 1st. rule this:

"rrule:freq=yearly;count=6;interval=1;byyearday=-307" 

Comments

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -