{"id":21961873,"url":"https://github.com/trapcodeio/cron-time","last_synced_at":"2025-04-05T04:08:56.437Z","repository":{"id":34764315,"uuid":"183512688","full_name":"trapcodeio/cron-time","owner":"trapcodeio","description":"Javascript Cron Time Expressions","archived":false,"fork":false,"pushed_at":"2024-08-30T05:02:40.000Z","size":91,"stargazers_count":110,"open_issues_count":3,"forks_count":24,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T18:54:16.851Z","etag":null,"topics":["cron","cron-expression","cron-expression-generator","nodejs"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trapcodeio.png","metadata":{"files":{"readme":"readme.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-25T21:31:06.000Z","updated_at":"2025-03-29T16:36:08.000Z","dependencies_parsed_at":"2024-01-05T03:41:39.218Z","dependency_job_id":"2a496a48-5a52-45dd-8425-2283517e7b33","html_url":"https://github.com/trapcodeio/cron-time","commit_stats":{"total_commits":70,"total_committers":8,"mean_commits":8.75,"dds":"0.30000000000000004","last_synced_commit":"8af0ce4875798832bb1f2385e8f2a8d22c7d0b5f"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trapcodeio%2Fcron-time","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trapcodeio%2Fcron-time/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trapcodeio%2Fcron-time/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trapcodeio%2Fcron-time/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trapcodeio","download_url":"https://codeload.github.com/trapcodeio/cron-time/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247284943,"owners_count":20913704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cron","cron-expression","cron-expression-generator","nodejs"],"created_at":"2024-11-29T10:19:28.490Z","updated_at":"2025-04-05T04:08:56.406Z","avatar_url":"https://github.com/trapcodeio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cron-Time\n\nCron Time Expression Generator/Builder written in Typescript.\n\nTested on [CronTab.Guru](https://crontab.guru)\n\n### Install\n\n```console\nnpm install cron-time-generator\n```\n\nOR\n\n```console\nyarn add cron-time-generator\n```\n\n### Setup\n\n```javascript\n// Javascript\nconst {CronTime} = require('cron-time-generator');\n// OR \nconst {default: CronTime} = require('cron-time-generator');\n\n// Typescript\nimport {CronTime} from \"cron-time-generator\";\n// OR\nimport CronTime from \"cron-time-generator\";\n```\n\nThe `CronTime` class is the main class that contains all the methods for generating cron expressions.\nit is the default export of the package and also has a named export called `CronTime`\n\n### Setup\n\n```javascript\n\nCronTime.everyMinute();\n// * * * * *\n\nCronTime.everyHour();\n// 0 * * * *\n\nCronTime.everyDay();\n// 0 0 * * *\n\nCronTime.everyDayAt(6);\n// 0 6 * * *\n\nCronTime.everyDayAt(6, 15);\n// 15 6 * * *\n\nCronTime.everySunday();\n// 0 0 * * SUN\n\nCronTime.everySundayAt(4, 30);\n// 30 4 * * SUN\n\nCronTime.everyWeekDay();\n// 0 0 * * 1-5\n// from Monday to Friday\n\nCronTime.everyWeekDayAt(1, 30);\n// 30 1 * * 1-5\n// 1:30 AM from Monday to Friday\n\nCronTime.everyWeekend();\n// 0 0 * * 6,0\n// on Saturday and Sunday\n\nCronTime.everyWeekendAt(1, 30);\n// 30 1 * * 6,0\n// 1:30 AM on Saturday and Sunday\n\n// E.T.C\n\n```\n\nFor `everyWeekDay` and `everyWeekend` there is also an option to change the starting day.\n\nBy default, week days is from **Monday** to **Friday** while weekend days are **Saturdays** and **Sundays**\n\nThis can be changed like so:\n\n```javascript\nCronTime.everyWeekDay(\"sunday\", \"thursday\");\n// 0 0 * * 0-4\n// from Sunday to Thursday\n\nCronTime.everyWeekDayAt(1, 30, \"sunday\", \"thursday\");\n// 30 1 * * 0-4\n// 1:30 AM from Sunday to Thursday\n\nCronTime.everyWeekend(\"friday\", \"saturday\");\n// 0 0 * * 5,6\n// on Friday and Saturday\n\nCronTime.everyWeekendAt(1, 30, \"friday\", \"saturday\");\n// 30 1 * * 5,6\n// 1:30 AM on Friday and Saturday\n```\n\nNote: if a `startDay` is specified then an `endDay` must be specified also, else it will use the default values which\nmay not tally with your new `$startDay`\n\nEvery method of `CronTime` returns exactly what its name says.\n\n### onSpecificDays and onSpecificDaysAt\n\nTo target specific days\n\n```javascript\nCronTime.onSpecificDays(['sunday', 'tuesday', 'thursday']); // 0 0 * * 0,2,4\n\n// With time \nCronTime.onSpecificDaysAt(['sunday', 'tuesday', 'thursday'], 3, 30); // 0 0 * * 0,2,4\n```\n\n### Every Nth Time\n\n```javascript\nconst CronTime = require('cron-time-generator');\n\nCronTime.every(5).minutes();\n// Every Five Minutes\n\nCronTime.every(2).hours();\n// Every 2 Hours\n\nCronTime.every(7).days();\n// Every 7 Days\n\nCronTime.every(7).days(9, 5);\n// Every 7 days at 9:05\n\nCronTime.every('even').hours();\n// Every Even Hours\n// * */2 * * *\n\nCronTime.every('uneven').hours();\n// Every Uneven Hours\n// * 1-23/2 * * *\n```\n\n### Between\n\n```javascript\nconst {CronTime} = require('cron-time-generator');\n\nCronTime.between(1, 4).days();\n// Between  1 - 4 th day of the month \n```\n\n### All Functions\n\n`every`\n\n`between`\n\n`everyMinute`\n\n`everyHour`\n\n`everyHourAt(minuteOfTheHour)`\n\n`everyDay`\n\n`everyDayAt(hoursOfTheDay)`\n\n`everySunday`\n\n`everySundayAt(hours, minutes?)`\n\n`everyMonday`\n\n`everyMondayAt(hours, minutes?)`\n\n`everyTuesday`\n\n`everyTuesdayAt(hours, minutes?)`\n\n`everyWednesday`\n\n`everyWednesdayAt(hours, minutes?)`\n\n`everyThursday`\n\n`everyThursdayAt(hours, minutes?)`\n\n`everyFriday`\n\n`everyFridayAt(hours, minutes?)`\n\n`everySaturday`\n\n`everySaturdayAt(hours, minutes?)`\n\n`everyWeek`\n\n`everyWeekAt(days, hours?, minutes?)`\n\n`everyWeekDay`\n\n`everyWeekDayAt(hours, minutes?, startDay?, endDay?)`\n\n`everyWeekend`\n\n`everyWeekendAt(hours, minutes?, startDay?, endDay?)`\n\n`everyMonth`\n\n`everyMonthOn(days, hours?, minutes?)`\n\n`everyYear`\n\n`everyYearIn(months, days?, hours?, minutes?)`\n\n`onSpecificDays(days)`\n\n`onSpecificDaysAt(days, hour, minutes?)`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrapcodeio%2Fcron-time","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrapcodeio%2Fcron-time","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrapcodeio%2Fcron-time/lists"}