/ tanggal dan waktu / cron
Hapus iklanAnggota
Tema: SistemKontras: Standar

Penjelas ekspresi cron

Baca ekspresi cron dalam bahasa sehari-hari, lihat jalannya berikutnya di zona waktu mana pun, dan rapikan ke bentuk standar.

Contoh kode

Salin contoh ini ke proyek Anda sendiri. Masing-masing hanya memakai pustaka standar bahasanya, jadi tidak ada yang perlu diinstal.

Beri bintang hingga 3 bahasa agar tampil lebih dulu di setiap halaman alat.

Jadikan JavaScript favorit
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')))

Fungsinya

Baca ekspresi cron dalam bahasa sehari-hari, lihat kapan ekspresi itu berjalan berikutnya di zona waktu mana pun, dan rapikan ke bentuk standarnya. Alat ini menangani cron standar lima bidang serta dialek Quartz atau Spring dengan detik. Semuanya dihitung di browser Anda.

Cara memakainya

  1. Ketik atau tempel ekspresi, seperti */15 9-17 * * MON-FRI. Pintasan seperti @daily dan @hourly dipahami. Bidang tempat kursor berada disorot dan dijelaskan di bawahnya.
  2. Pilih dialek: Standar (5 bidang) atau Quartz / Spring (enam atau tujuh bidang, diawali detik).
  3. Pilih zona waktu untuk membaca jadwal, dan berapa banyak jalan berikutnya yang ditampilkan.
  4. Baca deskripsi dalam kata-kata di atas kolom input, dengan waktu jalan berikutnya di bawahnya. Peringatan menunjukkan sintaks yang tidak dipahami semua cron.
  5. Tekan Acak atau chip jadwal sebagai titik awal, atau beralih ke Beberapa baris untuk memeriksa satu ekspresi per baris.

Contoh

@daily                  →  0 0 * * *
*/15 9-17 * * MON-FRI   →  Setiap 15 menit, antara pukul 09.00 dan 17.59, Senin sampai Jumat

Ekspresi Quartz untuk pukul 12.00 siang pada Senin kedua setiap bulan:

0 0 12 ? * MON#2

Perlu diketahui

  • Kelima bidangnya adalah menit, jam, tanggal, bulan, dan hari dalam seminggu.
  • Cron standar menghitung Minggu sebagai 0. Quartz dan Spring menghitungnya sebagai 1 dan membutuhkan ? di bidang tanggal atau bidang hari dalam seminggu.
  • Cron berjalan menurut jam mesin atau penjadwal tempatnya berada, jadi pilih zona waktu itu, sering kali UTC.
  • Quartz L, W, dan # (hari terakhir, hari kerja terdekat, hari ke-n dalam minggu) didukung.
  • Bidang yang tidak bisa dibaca menjadi merah, dan pesan menyebut namanya.
  • Jika hari dalam bulan dan hari dalam minggu sama-sama diisi, tugas berjalan saat salah satunya cocok, bukan hanya saat keduanya cocok. @reboot tidak punya jadwal untuk dicantumkan, dan 7 sebagai Minggu atau karakter Quartz ?, L, W, dan # di cron standar ditandai.

Apa itu ekspresi cron?

Ekspresi cron menyatakan kapan sebuah tugas berjalan, dalam lima bidang: menit, jam, tanggal, bulan, dan hari dalam seminggu. * berarti setiap nilai, */15 setiap 15, 1-5 sebuah rentang, dan 1,15 sebuah daftar. Quartz dan Spring menambahkan bidang detik di depan, kadang tahun di akhir, dan mendukung tambahan seperti L, W, dan #.

Pertanyaan yang sering diajukan

Zona waktu mana yang dipakai?

Yang Anda pilih. Cron berjalan menurut jam mesin atau penjadwal tempatnya berada; pilih zona itu, sering kali UTC, untuk melihat waktu sebenarnya.

Apa beda standar dan Quartz?

Cron standar memiliki lima bidang dan menghitung Minggu sebagai 0. Quartz dan Spring memiliki enam atau tujuh, diawali detik, menghitung Minggu sebagai 1, dan memerlukan ? pada bidang tanggal atau hari dalam seminggu.

Apakah alat ini mengirim ekspresi saya ke mana pun?

Tidak. Penjelasan dan waktu jalan dihitung di browser Anda. Apa yang Anda ketik tidak pernah dikirim ke server kami.

Perubahan alat ini

Pintasan keyboard

Tutup

Di mana saja

Cari alat dan aksi
Ctrl K
Tampilkan bantuan ini
?
Ganti tema
Ctrl Shift L
Sematkan alat terpilih (di pencarian)
Ctrl P

Di dalam alat

Kirim output ke saran pertama
Ctrl ↵
Buka file ke input
Ctrl O
Salin output
Ctrl Shift C
Tutup pencarianesc
alatEncoder dan decoder Base64Enkode teks ke Base64 atau dekode Base64 kembali ke teks, dengan alfabet standar dan URL-safe.EncodingJSON formatter dan validatorFormat, minify, dan validasi JSON, dengan baris dan kolom persis dari setiap error.FormatPenguji regexUji regular expression JavaScript dengan penyorotan langsung, grup tangkapan, dan penjelasan dalam bahasa sederhana.TeksPembuat UUID dan ULIDBuat UUID v4, UUID v7, dan ULID secara massal, atau tempel sebuah ID untuk melihat versi, varian, dan stempel waktunya.GeneratorKonverter timestamp UnixUbah timestamp Unix menjadi tanggal dan sebaliknya, di zona waktu mana pun, dengan ISO 8601, RFC 2822, dan waktu relatif.Tanggal dan waktuPembuat hash dan HMACHitung hash MD5, SHA-1, SHA-2, SHA-3, BLAKE2, BLAKE3, dan CRC-32 dari teks atau berkas, dengan HMAC opsional.KeamananPembuat kata sandi dan pemeriksa kekuatanBuat kata sandi, frasa sandi, dan PIN acak, atau periksa seberapa kuat sebuah kata sandi.KeamananDekoder dan verifikator JWTDekode JSON Web Token, periksa kedaluwarsa dan claim-nya, lalu verifikasi tanda tangannya dengan secret atau kunci publik.KeamananKalkulator CIDR dan subnet IPHitung rentang, mask, dan ukuran jaringan IPv4 dan IPv6, pecah menjadi subnet, dan periksa apa yang memuat atau tumpang tindih dengan apa.JaringanPenjelas ekspresi cronBaca ekspresi cron dalam bahasa sehari-hari, lihat jalannya berikutnya di zona waktu mana pun, dan rapikan ke bentuk standar.Tanggal dan waktuUrutkan barisUrutkan baris teks dari A ke Z atau Z ke A, secara alami (file2 sebelum file10), berdasarkan titik kode, angka, atau panjang.TeksHapus baris duplikatHapus baris duplikat dari daftar, simpan salinan pertama atau terakhir, abaikan huruf besar/kecil atau spasi, atau buang setiap baris yang berulang.TeksBandingkan daftar dan teksBandingkan dua daftar baris demi baris: temukan yang ada di keduanya, hanya di satu, atau di salah satu, atau lihat diff baris bertanda berdampingan.TeksPengubah huruf dan pembuat slugUbah teks ke camelCase, snake_case, kebab-case, Title Case dan lainnya, atau ubah judul menjadi slug URL dengan penanganan aksen.TeksEnkode, dekode, dan urai URLEnkode dan dekode teks dengan persen untuk URL, atau pecah URL menjadi skema, host, path, dan query lalu sunting query sebagai tabel.EncodingValidator: IBAN, BSN, PPN, kartu, ISBNPeriksa IBAN, BSN Belanda, nomor kartu kredit, nomor PPN UE, alamat email, URL, atau ISBN, dengan alasannya jika gagal. Satu nilai per baris.ValidasiEnkode dan dekode entitas HTMLLoloskan teks untuk HTML dengan entitas bernama, desimal, atau heksadesimal, atau ubah entitas seperti & dan é kembali menjadi karakter.EncodingEscape dan unescape stringLoloskan teks untuk string JSON atau JavaScript, string SQL, bidang CSV, ekspresi reguler, atau kata shell, atau batalkan peloloskan.EncodingDigit pemeriksa EAN, UPC, dan GTINPeriksa digit pemeriksa EAN-8, EAN-13, UPC-A, atau GTIN-14, tambahkan yang hilang, baca negara dari prefiks GS1, dan konversi ISBN-10 dengan EAN-13. Satu kode per baris.ValidasiPembuat data ujiBuat IBAN, BSN, barcode EAN, dan nomor PPN Eropa uji secara massal. Lolos pemeriksaan, tetapi bukan milik siapa pun.GeneratorPemformat dan minifier SQLFormat SQL dengan tiap klausa di barisnya sendiri, atau minify jadi satu baris, untuk MySQL, PostgreSQL, SQLite, SQL Server, dan BigQuery.FormatKonverter basis bilanganUbah bilangan antara biner, oktal, desimal, heksadesimal, dan basis apa pun dari 2 sampai 36, dengan bilangan besar, komplemen dua, dan tampilan bit.EncodingKonverter YAML, TOML, dan JSONKonversi antara JSON, YAML, dan TOML, atau validasi dan rapikan dokumen, lengkap dengan baris dan kolom setiap kesalahan.FormatKonverter CSV dan JSONUbah CSV menjadi array JSON berisi objek atau array, atau JSON kembali ke CSV. Mendeteksi pemisah dan membaca file Excel dengan titik koma dan koma desimal.DataPenguji glob dan .gitignoreUji pola glob dan aturan .gitignore pada daftar path dan lihat path mana yang cocok serta aturan mana yang berlaku.TeksKonverter warnaUbah warna antara HEX, RGB, HSL, HWB, dan OKLCH, periksa kontras WCAG terhadap latar belakang, atau buat palet tonal Material 3 darinya.FormatKalkulator chmodUbah izin berkas Unix antara oktal (755), huruf (rwxr-xr-x), ls -l, dan klausa chmod, dengan kisi kotak centang serta bit setuid, setgid, dan sticky.KeamananParser user-agentBaca string user-agent: browser, engine, OS, jenis perangkat, dan apakah itu bot. Biarkan kosong untuk membaca browser Anda sendiri.JaringanUbah cURL menjadi kodeTempel perintah cURL dan dapatkan permintaan yang sama dalam fetch, Axios, Python requests, Go, atau PHP. Tidak ada yang dijalankan dan tidak ada yang dikirim.JaringanPratinjau MarkdownTulis Markdown dan lihat hasilnya saat mengetik, atau salin HTML-nya. HTML mentah ditampilkan sebagai teks dan tautan diperiksa, jadi tidak ada yang bisa berjalan di pratinjau.FormatPembuat barcode dan kode QRBuat kode QR, EAN-13, UPC-A, Code 128, ITF-14, atau Data Matrix, unduh sebagai SVG atau PNG, atau baca kode dari gambar.GeneratorhalamanCatatan perubahanApa yang berubah di setiap rilishalamanTentangApa itu codeknife.dev dan siapa pembuatnyahalamanIdeUsulkan perbaikan dan beri suara pada ide pengunjung lain.halamanPrivasiApa yang keluar dari peramban dan apa yang disimpanhalamanAksesibilitasKepatuhan, keterbatasan yang diketahui, dan cara melaporkan masalahhalamanKeanggotaanHapus iklan dan naikkan batashalamanaksi