Skip to content

MihaelIsaev/SwifCron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mihael Isaev

MIT License Swift 4.2 Cocoapod Github Actions Swift.Stream


Don't forget to support the lib by giving a ⭐️

How to install

CocoaPods

SwifCron is available through CocoaPods

To install it, simply add the following line in your Podfile:

pod 'SwifCron', '~> 2.0.0'

Swift Package Manager

.package(url: "https://github.com/MihaelIsaev/SwifCron.git", from: "2.0.0")

In your target's dependencies add "SwifCron" e.g. like this:

.target(name: "App", dependencies: ["SwifCron"]),

Usage

import SwifCron

do {
    let everyMinuteCron = try SwifCron("* * * * *")
    let everySecondCron = try SwifCron("* * * * * *")

    //for getting next date related to current date
    let nextMinuteDate = try everyMinuteCron.next()
    let nextSecondDate = try everyMinuteCron.next()

    //for getting next date related to custom date
    let nextDate = try cron.next(from: Date())
} catch {
    print(error)
}

Limitations

This library support both 5 or 6 parts expressions.

With 6 parts format is Second Minute Hour Day of month Month Day of week

For creating expressions you can use this 5-parts or 6-parts (year not supported) generator

I use CrontabGuru as a reference

So you could parse any expression which consists of digits with * , / and - symbols

Contributing

Please feel free to contribute!

ToDo

  • write more tests
  • support literal names of months and days of week in expression
  • support non-standard digits like 7 for Sunday in day of week part of expression

About

⏱Simple pure swift cron expression parser

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors