/ datum en tijd / cron
Advertenties weghalenLid
Thema: SysteemContrast: Standaard

Cron-expressie uitlegger

Lees een cron-expressie in gewone taal, zie de volgende uitvoeringen in elke tijdzone en breng hem terug naar de standaardvorm.

Codevoorbeelden

Kopieer deze voorbeelden naar je eigen project. Ze gebruiken alleen de standaardbibliotheek van de taal, dus er hoeft niets geïnstalleerd te worden.

Geef maximaal 3 talen een ster om ze op elke toolpagina eerst te zien.

JavaScript als favoriet instellen
const expand = (field, min, max) =>
  field.split(',').flatMap((part) => {
    const [range, step = '1'] = part.split('/')
    const [from, to = from] = range === '*' ? [min, max] : range.split('-').map(Number)
    return Array.from({ length: Math.floor((to - from) / Number(step)) + 1 }, (_, i) => from + i * Number(step))
  })

function matches(expression, instant) {
  const [minute, hour, dayOfMonth, month, dayOfWeek] = expression.split(' ')

  const inMonth = expand(dayOfMonth, 1, 31).includes(instant.getUTCDate())
  const inWeek = expand(dayOfWeek, 0, 7).some((day) => day % 7 === instant.getUTCDay())
  const dayMatches =
    !dayOfMonth.startsWith('*') && !dayOfWeek.startsWith('*') ? inMonth || inWeek : inMonth && inWeek

  return (
    expand(minute, 0, 59).includes(instant.getUTCMinutes()) &&
    expand(hour, 0, 23).includes(instant.getUTCHours()) &&
    expand(month, 1, 12).includes(instant.getUTCMonth() + 1) &&
    dayMatches
  )
}

console.log(matches('*/15 9-17 * * 1-5', new Date('2023-11-14T09:30:00Z')))

Wat het doet

Lees een cron-expressie in gewone taal, zie wanneer die de volgende keer draait in elke tijdzone en maak er de canonieke vorm van. Het begrijpt standaard cron met vijf velden en het Quartz- of Spring-dialect met seconden. Alles wordt in je browser berekend.

Zo gebruik je het

  1. Typ of plak een expressie, zoals */15 9-17 * * MON-FRI. Snelkoppelingen zoals @daily en @hourly worden begrepen. Het veld waar je cursor staat, wordt gemarkeerd en eronder uitgelegd.
  2. Kies het dialect: Standaard (5 velden) of Quartz / Spring (zes of zeven velden, beginnend met seconden).
  3. Kies de tijdzone waarin je het schema leest en hoeveel komende uitvoeringen je wilt zien.
  4. Lees de beschrijving in woorden boven het invoerveld, met de volgende uitvoertijden eronder. Waarschuwingen wijzen op syntaxis die niet elke cron begrijpt.
  5. Kies Willekeurig of een schema-chip als beginpunt, of schakel naar Meerdere regels om één expressie per regel te controleren.

Voorbeelden

@daily                  →  0 0 * * *
*/15 9-17 * * MON-FRI   →  Elke 15 minuten, tussen 09:00 en 17:59, van maandag tot en met vrijdag

Een Quartz-expressie voor twaalf uur ’s middags op de tweede maandag van elke maand:

0 0 12 ? * MON#2

Goed om te weten

  • De vijf velden zijn minuut, uur, dag van de maand, maand en dag van de week.
  • Standaard cron telt zondag als 0. Quartz en Spring tellen het als 1 en vereisen een ? in het veld voor de dag van de maand of de dag van de week.
  • Cron draait op de klok van de machine of planner waarop het staat, dus kies die tijdzone, vaak UTC.
  • Quartz L, W en # (laatste dag, dichtstbijzijnde werkdag, n-de weekdag) worden ondersteund.
  • Een veld dat niet te lezen is, wordt rood en de melding noemt het.
  • Met zowel een dag van de maand als een dag van de week draait de taak zodra één van beide klopt, niet pas als allebei kloppen. @reboot heeft geen schema om op te sommen, en 7 als zondag of de Quartz-tekens ?, L, W en # in standaard cron worden gemarkeerd.

Wat is een cron-expressie?

Een cron-expressie zegt wanneer een taak moet draaien, in vijf velden: minuut, uur, dag van de maand, maand en dag van de week. * betekent elke waarde, */15 elke 15e, 1-5 een bereik en 1,15 een lijst. Quartz en Spring voegen vooraan een secondenveld toe en soms achteraan een jaar, en kennen extra's als L, W en #.

Veelgestelde vragen

Welke tijdzone gebruiken de uitvoeringen?

Die je kiest. Cron draait op de klok van de machine of planner waarop het staat; kies die zone, vaak UTC, om de echte uitvoertijden te zien.

Wat is het verschil tussen standaard en Quartz?

Standaard cron heeft vijf velden en telt zondag als 0. Quartz en Spring hebben er zes of zeven, beginnen met seconden, tellen zondag als 1 en vragen een ? in het dag-van-de-maand- of het dag-van-de-week-veld.

Stuurt deze tool mijn expressies ergens naartoe?

Nee. De uitleg en de uitvoertijden worden in je browser berekend. Wat je typt wordt nooit naar onze servers gestuurd.

Wijzigingen van deze tool

Sneltoetsen

Sluiten

Overal

Tools en acties zoeken
Ctrl K
Deze hulp tonen
?
Thema wisselen
Ctrl Shift L
Geselecteerde tool vastzetten (in zoeken)
Ctrl P

In een tool

Uitvoer naar de eerste suggestie sturen
Ctrl ↵
Bestand in de invoer openen
Ctrl O
Uitvoer kopiëren
Ctrl Shift C
Zoeken sluitenesc
toolsBase64 coderen en decoderenZet tekst om naar Base64 of decodeer Base64 terug naar tekst, met het standaard- en URL-veilige alfabet.CoderenJSON-formatter en -validatorJSON opmaken, minifyen en valideren, met de exacte regel en kolom van elke fout.OpmakenRegex-testerTest JavaScript reguliere expressies met live markering, capture groups en een uitleg in gewone taal.TekstUUID- en ULID-generatorGenereer UUID v4, UUID v7 en ULID in bulk, of plak een ID om de versie, variant en tijdstempel te zien.GeneratorenUnix-tijdstempelconverterZet Unix-tijdstempels om naar datums en terug, in elke tijdzone, met ISO 8601, RFC 2822 en relatieve tijd.Datum en tijdHash- en HMAC-generatorBereken MD5-, SHA-1-, SHA-2-, SHA-3-, BLAKE2-, BLAKE3- en CRC-32-hashes van tekst of een bestand, met optionele HMAC.BeveiligingWachtwoordgenerator en sterktecontroleGenereer willekeurige wachtwoorden, wachtzinnen en pincodes, of controleer hoe sterk een wachtwoord is.BeveiligingJWT-decoder en -verifierDecodeer een JSON Web Token, controleer de geldigheid en claims en verifieer de handtekening met een geheim of publieke sleutel.BeveiligingCIDR- en IP-subnetcalculatorBereken bereik, masker en grootte van IPv4- en IPv6-netwerken, splits ze in subnetten en controleer wat in wat zit of overlapt.NetwerkCron-expressie uitleggerLees een cron-expressie in gewone taal, zie de volgende uitvoeringen in elke tijdzone en breng hem terug naar de standaardvorm.Datum en tijdRegels sorterenSorteer regels tekst van A naar Z of Z naar A, in natuurlijke volgorde (file2 voor file10), op codepunt, op getal of op lengte.TekstDubbele regels verwijderenVerwijder dubbele regels uit een lijst, bewaar de eerste of laatste kopie, negeer hoofdletters of spaties, of verwijder elke regel die herhaald wordt.TekstLijsten en tekst vergelijkenVergelijk twee lijsten regel voor regel: vind wat in beide staat, in één van de twee of in een van beide, of bekijk een gemarkeerd regelverschil naast elkaar.TekstTekstnotatie en slug makenZet tekst om naar camelCase, snake_case, kebab-case, Title Case en meer, of maak van een titel een URL-slug met afhandeling van accenten.TekstURL coderen, decoderen en parsenCodeer en decodeer tekst met procentcodering voor URL’s, of haal een URL uit elkaar in schema, host, pad en query en bewerk de query als tabel.CoderenValidators: IBAN, BSN, btw, pas en ISBNControleer een IBAN, BSN, creditcardnummer, EU-btw-nummer, e-mailadres, URL of ISBN, met de reden als het misgaat. Eén waarde per regel.ValiderenHTML-entities coderen en decoderenEscape tekst voor HTML met benoemde, decimale of hexadecimale entities, of zet entities als & en é terug om in tekens.CoderenStrings escapen en unescapenEscape tekst voor een JSON- of JavaScript-string, een SQL-string, een CSV-veld, een reguliere expressie of een shellwoord, of maak het escapen ongedaan.CoderenEAN-, UPC- en GTIN-controlecijfersControleer het controlecijfer van een EAN-8, EAN-13, UPC-A of GTIN-14, vul een ontbrekend cijfer aan, lees het land uit het GS1-voorvoegsel en reken ISBN-10 om naar EAN-13. Eén code per regel.ValiderenTestdata-generatorGenereer geldig ogende test-IBAN’s, BSN’s, EAN-barcodes en Europese btw-nummers in bulk. Ze slagen voor de controles, maar zijn van niemand.GeneratorenSQL-formatter en minifierMaak SQL leesbaar met elke clausule op een eigen regel, of minifieer het tot één regel, voor MySQL, PostgreSQL, SQLite, SQL Server en BigQuery.OpmakenTalstelselomrekenaarReken getallen om tussen binair, octaal, decimaal, hex en elk talstelsel van 2 tot 36, met grote getallen, two's complement en een bitweergave.CoderenYAML-, TOML- en JSON-converterZet om tussen JSON, YAML en TOML, of valideer en formatteer een document, met regel en kolom van elke fout.OpmakenCSV en JSON converterZet CSV om naar een JSON-array van objecten of arrays, of JSON terug naar CSV. Herkent het scheidingsteken en leest Nederlandse Excel-bestanden met puntkomma’s en decimale komma’s.DataGlob- en .gitignore-testerTest glob-patronen en .gitignore-regels op een lijst paden en zie welke paden passen en welke regel dat deed.TekstKleurconverterReken een kleur om tussen HEX, RGB, HSL, HWB en OKLCH, controleer het WCAG-contrast met een achtergrond of bouw er een Material 3-tonenpalet van.Opmakenchmod-calculatorReken Unix-bestandsrechten om tussen octaal (755), letters (rwxr-xr-x), ls -l en chmod-clausules, met een rooster van selectievakjes en de setuid-, setgid- en sticky-bits.BeveiligingUser-agent-parserLees een user-agent-string: browser, engine, besturingssysteem, apparaattype en of het een bot is. Laat het leeg om je eigen browser te lezen.NetwerkcURL omzetten naar codePlak een cURL-opdracht en krijg hetzelfde verzoek als fetch, Axios, Python requests, Go of PHP. Er wordt niets uitgevoerd en niets verstuurd.NetwerkMarkdown-voorbeeldSchrijf Markdown en zie het meteen weergegeven, of kopieer de HTML. Ruwe HTML wordt als tekst getoond en links worden gecontroleerd, dus niets in het voorbeeld kan draaien.OpmakenBarcode- en QR-codegeneratorMaak een QR-code, EAN-13, UPC-A, Code 128, ITF-14 of Data Matrix, download hem als SVG of PNG, of lees een code uit een afbeelding.Generatorenpagina’sWijzigingenWat er in elke release veranderdepagina’sOver onsWat codeknife.dev is en wie het maaktpagina’sIdeeënStel verbeteringen voor en stem op de ideeën van andere bezoekers.pagina’sPrivacyWat je browser verlaat en wat wordt bewaardpagina’sToegankelijkheidConformiteit, bekende beperkingen en hoe je een probleem meldtpagina’sLidmaatschapHaal advertenties weg en verhoog de limietenpagina’sacties