SwiftCron 0.5.0

SwiftCron 0.5.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Nov 2018
SPMSupports SPM

Maintained by Keegan Rush.



SwiftCron 0.5.0

SwiftCron

A cron expression parser that can take a cron string and give you the next run date and time specified in the string. SwiftCron can be used on iOS 8.0 and above.


SwiftCron was built for use in an upcoming project for Prolific Idea. You can find them on Github, Twitter, or their website.

Installation

How to

Create a Cron Expression

Creating a cron expression is easy. Just invoke the initializer with the fields you want.

// Midnight every 8th day of the month
let myCronExpression = CronExpression(minute: "0", hour: "0", day: "8")
// Executes May 9th, 2024 at 11:30am
let anotherExpression = CronExpression(minute: "30", hour: "11", day: "9", month: "5", year: "2024") 
// Every tuesday at 6:00pm
let everyTuesday = CronExpression(minute: "0", hour: "18", weekday: "3")


Manually create an expression

If you’d like to manually write the expression yourself, The cron format is as follows:

* * * * * *
(Minute) (Hour) (Day) (Month) (Weekday) (Year)

Initialize an instance of CronExpression with a string specifying the format.

// Every 11th May at midnight
let every11May = CronExpression(cronString: "0 0 11 5 * *")


Get the next run date

Once you have your CronExpression, you can get the next time the cron will run. Call the getNextRunDate(_:) method and pass in the date to begin the search on.

// Every Friday 13th at midday
let myCronExpression = CronExpression(minute: "0", hour: "12", day: "13", weekday: "5")

let dateToStartSearchOn = NSDate()
let nextRunDate = myCronExpression.getNextRunDate(dateToStartSearchOn)

Requirements

  • iOS 8.0+
  • Xcode 7.0+