Skip to content

A schedule library with similar schedule settings as a task scheduler.

License

Notifications You must be signed in to change notification settings

vllama/schedule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Schedule

A schedule library with similar schedule settings as a task scheduler.

Scheduling resolution options are with the lowest being Day.: Once Daily Weekly Monthly And for each one can schedule more granular such as every x (day of week) etc.

Sample usage :

            // WeekDays
            var start = new DateTime(2010, 6, 3);
            var end = new DateTime(2018, 8, 13);
            var days = new[] { DayOfWeek.Sunday, DayOfWeek.Saturday };
            var weekendDays = new WeeklyOccurrence(start, end, days, 2);

Visualize the output:

 Range from 2010-06-03 12:00:00 AM to 2010-08-13 12:00:00 AM 
|    -3300 |    -3299 |    -3298 |    -3297 |    -3296 |    -3295 |    -3294 |    -3293 |    -3292 |    -3291 |    -3290 |    -3289 |    -3288 |    -3287 |    -3286 |    -3285 |    -3284 |    -3283 |    -3282 |    -3281 |    -3280 |    -3279 |    -3278 |    -3277 |    -3276 |    -3275 |    -3274 |    -3273 |    -3272 |    -3271 |    -3270 |    -3269 |    -3268 |    -3267 |    -3266 |    -3265 |    -3264 |    -3263 |    -3262 |    -3261 |    -3260 |    -3259 |    -3258 |    -3257 |    -3256 |    -3255 |    -3254 |    -3253 |    -3252 |    -3251 |    -3250 |    -3249 |    -3248 |    -3247 |    -3246 |    -3245 |    -3244 |    -3243 |    -3242 |    -3241 |    -3240 |    -3239 |    -3238 |    -3237 |    -3236 |    -3235 |    -3234 |    -3233 |    -3232 |    -3231 |    -3230 |    -3229 |
|2010-06-03|2010-06-04|2010-06-05|2010-06-06|2010-06-07|2010-06-08|2010-06-09|2010-06-10|2010-06-11|2010-06-12|2010-06-13|2010-06-14|2010-06-15|2010-06-16|2010-06-17|2010-06-18|2010-06-19|2010-06-20|2010-06-21|2010-06-22|2010-06-23|2010-06-24|2010-06-25|2010-06-26|2010-06-27|2010-06-28|2010-06-29|2010-06-30|2010-07-01|2010-07-02|2010-07-03|2010-07-04|2010-07-05|2010-07-06|2010-07-07|2010-07-08|2010-07-09|2010-07-10|2010-07-11|2010-07-12|2010-07-13|2010-07-14|2010-07-15|2010-07-16|2010-07-17|2010-07-18|2010-07-19|2010-07-20|2010-07-21|2010-07-22|2010-07-23|2010-07-24|2010-07-25|2010-07-26|2010-07-27|2010-07-28|2010-07-29|2010-07-30|2010-07-31|2010-08-01|2010-08-02|2010-08-03|2010-08-04|2010-08-05|2010-08-06|2010-08-07|2010-08-08|2010-08-09|2010-08-10|2010-08-11|2010-08-12|2010-08-13|
|          |          |2010-06-05|2010-06-06|          |          |          |          |          |          |          |          |          |          |          |          |2010-06-19|2010-06-20|          |          |          |          |          |          |          |          |          |          |          |          |2010-07-03|2010-07-04|          |          |          |          |          |          |          |          |          |          |          |          |2010-07-17|2010-07-18|          |          |          |          |          |          |          |          |          |          |          |          |2010-07-31|2010-08-01|          |          |          |          |          |          |          |          |          |          |          |          |
            //Every Second tuesday of the month
            var everySecondTuesday = new MonthlyOccurrence(DateTime.MinValue, DateTime.MaxValue
                    , EVERY_MONTH_OF_THE_YEAR
                    , new WeekOfMonth[] { WeekOfMonth.Second }
                    , new DayOfWeek[] { DayOfWeek.Tuesday});

Visualize the output:

Range from 2018-12-31 12:00:00 AM to 2019-12-31 12:00:00 AM
|     -167 |     -166 |     -165 |     -164 |     -163 |     -162 |     -161 |     -160 |     -159 |     -158 |     -157 |     -156 |     -155 |     -154 |     -153 |     -152 |     -151 |     -150 |     -149 |     -148 |     -147 |     -146 |     -145 |     -144 |     -143 |     -142 |     -141 |     -140 |     -139 |     -138 |     -137 |     -136 |     -135 |     -134 |     -133 |     -132 |     -131 |     -130 |     -129 |     -128 |     -127 |     -126 |     -125 |     -124 |     -123 |     -122 |     -121 |     -120 |     -119 |     -118 |     -117 |     -116 |     -115 |     -114 |     -113 |     -112 |     -111 |     -110 |     -109 |     -108 |     -107 |     -106 |     -105 |     -104 |     -103 |     -102 |     -101 |     -100 |      -99 |      -98 |      -97 |      -96 |      -95 |      -94 |      -93 |      -92 |      -91 |      -90 |      -89 |      -88 |      -87 |      -86 |      -85 |      -84 |      -83 |      -82 |      -81 |      -80 |      -79 |      -78 |      -77 |      -76 |      -75 |      -74 |      -73 |      -72 |      -71 |      -70 |      -69 |      -68 |      -67 |      -66 |      -65 |      -64 |      -63 |      -62 |      -61 |      -60 |      -59 |      -58 |      -57 |      -56 |      -55 |      -54 |      -53 |      -52 |      -51 |      -50 |      -49 |      -48 |      -47 |      -46 |      -45 |      -44 |      -43 |      -42 |      -41 |      -40 |      -39 |      -38 |      -37 |      -36 |      -35 |      -34 |      -33 |      -32 |      -31 |      -30 |      -29 |      -28 |      -27 |      -26 |      -25 |      -24 |      -23 |      -22 |      -21 |      -20 |      -19 |      -18 |      -17 |      -16 |      -15 |      -14 |      -13 |      -12 |      -11 |      -10 |       -9 |       -8 |       -7 |       -6 |       -5 |       -4 |       -3 |       -2 |       -1 |        0 |        1 |        2 |        3 |        4 |        5 |        6 |        7 |        8 |        9 |       10 |       11 |       12 |       13 |       14 |       15 |       16 |       17 |       18 |       19 |       20 |       21 |       22 |       23 |       24 |       25 |       26 |       27 |       28 |       29 |       30 |       31 |       32 |       33 |       34 |       35 |       36 |       37 |       38 |       39 |       40 |       41 |       42 |       43 |       44 |       45 |       46 |       47 |       48 |       49 |       50 |       51 |       52 |       53 |       54 |       55 |       56 |       57 |       58 |       59 |       60 |       61 |       62 |       63 |       64 |       65 |       66 |       67 |       68 |       69 |       70 |       71 |       72 |       73 |       74 |       75 |       76 |       77 |       78 |       79 |       80 |       81 |       82 |       83 |       84 |       85 |       86 |       87 |       88 |       89 |       90 |       91 |       92 |       93 |       94 |       95 |       96 |       97 |       98 |       99 |      100 |      101 |      102 |      103 |      104 |      105 |      106 |      107 |      108 |      109 |      110 |      111 |      112 |      113 |      114 |      115 |      116 |      117 |      118 |      119 |      120 |      121 |      122 |      123 |      124 |      125 |      126 |      127 |      128 |      129 |      130 |      131 |      132 |      133 |      134 |      135 |      136 |      137 |      138 |      139 |      140 |      141 |      142 |      143 |      144 |      145 |      146 |      147 |      148 |      149 |      150 |      151 |      152 |      153 |      154 |      155 |      156 |      157 |      158 |      159 |      160 |      161 |      162 |      163 |      164 |      165 |      166 |      167 |      168 |      169 |      170 |      171 |      172 |      173 |      174 |      175 |      176 |      177 |      178 |      179 |      180 |      181 |      182 |      183 |      184 |      185 |      186 |      187 |      188 |      189 |      190 |      191 |      192 |      193 |      194 |      195 |      196 |      197 |      198 |
|2018-12-31|2019-01-01|2019-01-02|2019-01-03|2019-01-04|2019-01-05|2019-01-06|2019-01-07|2019-01-08|2019-01-09|2019-01-10|2019-01-11|2019-01-12|2019-01-13|2019-01-14|2019-01-15|2019-01-16|2019-01-17|2019-01-18|2019-01-19|2019-01-20|2019-01-21|2019-01-22|2019-01-23|2019-01-24|2019-01-25|2019-01-26|2019-01-27|2019-01-28|2019-01-29|2019-01-30|2019-01-31|2019-02-01|2019-02-02|2019-02-03|2019-02-04|2019-02-05|2019-02-06|2019-02-07|2019-02-08|2019-02-09|2019-02-10|2019-02-11|2019-02-12|2019-02-13|2019-02-14|2019-02-15|2019-02-16|2019-02-17|2019-02-18|2019-02-19|2019-02-20|2019-02-21|2019-02-22|2019-02-23|2019-02-24|2019-02-25|2019-02-26|2019-02-27|2019-02-28|2019-03-01|2019-03-02|2019-03-03|2019-03-04|2019-03-05|2019-03-06|2019-03-07|2019-03-08|2019-03-09|2019-03-10|2019-03-11|2019-03-12|2019-03-13|2019-03-14|2019-03-15|2019-03-16|2019-03-17|2019-03-18|2019-03-19|2019-03-20|2019-03-21|2019-03-22|2019-03-23|2019-03-24|2019-03-25|2019-03-26|2019-03-27|2019-03-28|2019-03-29|2019-03-30|2019-03-31|2019-04-01|2019-04-02|2019-04-03|2019-04-04|2019-04-05|2019-04-06|2019-04-07|2019-04-08|2019-04-09|2019-04-10|2019-04-11|2019-04-12|2019-04-13|2019-04-14|2019-04-15|2019-04-16|2019-04-17|2019-04-18|2019-04-19|2019-04-20|2019-04-21|2019-04-22|2019-04-23|2019-04-24|2019-04-25|2019-04-26|2019-04-27|2019-04-28|2019-04-29|2019-04-30|2019-05-01|2019-05-02|2019-05-03|2019-05-04|2019-05-05|2019-05-06|2019-05-07|2019-05-08|2019-05-09|2019-05-10|2019-05-11|2019-05-12|2019-05-13|2019-05-14|2019-05-15|2019-05-16|2019-05-17|2019-05-18|2019-05-19|2019-05-20|2019-05-21|2019-05-22|2019-05-23|2019-05-24|2019-05-25|2019-05-26|2019-05-27|2019-05-28|2019-05-29|2019-05-30|2019-05-31|2019-06-01|2019-06-02|2019-06-03|2019-06-04|2019-06-05|2019-06-06|2019-06-07|2019-06-08|2019-06-09|2019-06-10|2019-06-11|2019-06-12|2019-06-13|2019-06-14|2019-06-15|2019-06-16|2019-06-17|2019-06-18|2019-06-19|2019-06-20|2019-06-21|2019-06-22|2019-06-23|2019-06-24|2019-06-25|2019-06-26|2019-06-27|2019-06-28|2019-06-29|2019-06-30|2019-07-01|2019-07-02|2019-07-03|2019-07-04|2019-07-05|2019-07-06|2019-07-07|2019-07-08|2019-07-09|2019-07-10|2019-07-11|2019-07-12|2019-07-13|2019-07-14|2019-07-15|2019-07-16|2019-07-17|2019-07-18|2019-07-19|2019-07-20|2019-07-21|2019-07-22|2019-07-23|2019-07-24|2019-07-25|2019-07-26|2019-07-27|2019-07-28|2019-07-29|2019-07-30|2019-07-31|2019-08-01|2019-08-02|2019-08-03|2019-08-04|2019-08-05|2019-08-06|2019-08-07|2019-08-08|2019-08-09|2019-08-10|2019-08-11|2019-08-12|2019-08-13|2019-08-14|2019-08-15|2019-08-16|2019-08-17|2019-08-18|2019-08-19|2019-08-20|2019-08-21|2019-08-22|2019-08-23|2019-08-24|2019-08-25|2019-08-26|2019-08-27|2019-08-28|2019-08-29|2019-08-30|2019-08-31|2019-09-01|2019-09-02|2019-09-03|2019-09-04|2019-09-05|2019-09-06|2019-09-07|2019-09-08|2019-09-09|2019-09-10|2019-09-11|2019-09-12|2019-09-13|2019-09-14|2019-09-15|2019-09-16|2019-09-17|2019-09-18|2019-09-19|2019-09-20|2019-09-21|2019-09-22|2019-09-23|2019-09-24|2019-09-25|2019-09-26|2019-09-27|2019-09-28|2019-09-29|2019-09-30|2019-10-01|2019-10-02|2019-10-03|2019-10-04|2019-10-05|2019-10-06|2019-10-07|2019-10-08|2019-10-09|2019-10-10|2019-10-11|2019-10-12|2019-10-13|2019-10-14|2019-10-15|2019-10-16|2019-10-17|2019-10-18|2019-10-19|2019-10-20|2019-10-21|2019-10-22|2019-10-23|2019-10-24|2019-10-25|2019-10-26|2019-10-27|2019-10-28|2019-10-29|2019-10-30|2019-10-31|2019-11-01|2019-11-02|2019-11-03|2019-11-04|2019-11-05|2019-11-06|2019-11-07|2019-11-08|2019-11-09|2019-11-10|2019-11-11|2019-11-12|2019-11-13|2019-11-14|2019-11-15|2019-11-16|2019-11-17|2019-11-18|2019-11-19|2019-11-20|2019-11-21|2019-11-22|2019-11-23|2019-11-24|2019-11-25|2019-11-26|2019-11-27|2019-11-28|2019-11-29|2019-11-30|2019-12-01|2019-12-02|2019-12-03|2019-12-04|2019-12-05|2019-12-06|2019-12-07|2019-12-08|2019-12-09|2019-12-10|2019-12-11|2019-12-12|2019-12-13|2019-12-14|2019-12-15|2019-12-16|2019-12-17|2019-12-18|2019-12-19|2019-12-20|2019-12-21|2019-12-22|2019-12-23|2019-12-24|2019-12-25|2019-12-26|2019-12-27|2019-12-28|2019-12-29|2019-12-30|2019-12-31|
|          |          |          |          |          |          |          |          |2019-01-08|          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |2019-02-12|          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |2019-03-12|          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |2019-04-09|          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |2019-05-14|          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |2019-06-11|          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |2019-07-09|          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |2019-08-13|          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |2019-09-10|          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |2019-10-08|          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |2019-11-12|          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |2019-12-10|          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |          |

See the Unit tests for more examples.

About

A schedule library with similar schedule settings as a task scheduler.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages