เวลา
4 tools
เครื่องมือด้านเวลาของ ToolDeck ช่วยให้คุณแปลง Unix timestamp, วิเคราะห์ cron expression, สร้างตารางเวลา cron แบบภาพ และตรวจสอบไวยากรณ์ cron ได้โดยตรงในเบราว์เซอร์ ตัวแปลง Timestamp แปลระหว่างค่า Unix epoch กับวันที่ที่อ่านได้ในทุกรูปแบบหลัก ตัวแยกวิเคราะห์ Cron Expression แยก cron string ออกเป็นคำอธิบายภาษาธรรมดาพร้อมตัวอย่างการรันครั้งถัดไป ตัวสร้าง Cron Expression สร้าง cron expression ผ่านอินเทอร์เฟซภาพแบบทีละขั้นตอนโดยไม่ต้องแก้ไขด้วยตนเอง ตัวตรวจสอบ Cron Expression ตรวจสอบไวยากรณ์ cron และแสดงการแจกแจงแต่ละฟิลด์ การประมวลผลทั้งหมดทำงานในเบราว์เซอร์ของคุณโดยไม่มีการส่งข้อมูลไปยังเซิร์ฟเวอร์ ไม่ต้องสมัครบัญชี และไม่มีการเก็บรวบรวมข้อมูล
ใช้ ตัวแปลง Timestamp เมื่อต้องการแปลงค่า epoch จาก log หรือ API, ใช้ ตัวแยกวิเคราะห์ Cron Expression เพื่อถอดรหัสตารางเวลาที่มีอยู่เป็นภาษาธรรมดา, ใช้ ตัวสร้าง Cron Expression เพื่อสร้าง expression ใหม่แบบภาพ, หรือใช้ ตัวตรวจสอบ Cron Expression เพื่อตรวจสอบไวยากรณ์ก่อน deploy ไปยัง production
เครื่องมือด้านเวลาคืออะไร?
เครื่องมือด้านเวลาช่วยแก้ปัญหาเชิงปฏิบัติที่นักพัฒนาต้องเผชิญเมื่อทำงานกับวันที่ timestamp และการรันตามตารางเวลา Unix timestamp ปรากฏใน column ของฐานข้อมูล, การตอบสนอง API, ไฟล์ log และ JWT claims การอ่านค่าดิบอย่าง 1717200000 ระหว่างเหตุการณ์ฉุกเฉินจำเป็นต้องแปลงเป็นวันที่ที่อ่านได้ Cron expression ปรากฏใน config ของ CI/CD, Kubernetes manifest และ crontab ของเซิร์ฟเวอร์ การเขียน 0 9 * * 1-5 และมั่นใจว่ามันทำงานตอน 9 โมงเช้าในวันทำงาน (และไม่ใช่วันหยุด) จำเป็นต้องใช้ parser หรือ validator
เครื่องมือด้านเวลาครอบคลุมสองส่วนหลัก การแปลง timestamp เกี่ยวข้องกับการแปลระหว่างค่า Unix epoch (วินาทีหรือมิลลิวินาทีนับตั้งแต่ 1970-01-01 00:00:00 UTC) กับ string วันที่ที่มีรูปแบบ มาตรฐานหลักที่เกี่ยวข้องได้แก่ ISO 8601 (รูปแบบวันที่/เวลาระดับนานาชาติ กำหนดโดย International Organization for Standardization), RFC 3339 (รูปแบบอินเทอร์เน็ตของ ISO 8601 เผยแพร่โดย IETF) และ RFC 2822 (รูปแบบวันที่ที่ใช้ใน email header และ HTTP) เครื่องมือ cron expression ครอบคลุมการวิเคราะห์ การสร้าง และการตรวจสอบไวยากรณ์ตารางเวลาแบบห้าฟิลด์ที่กำหนดไว้ใน POSIX (IEEE Std 1003.1) ไวยากรณ์นี้ถูกใช้งานในปัจจุบันโดย crontab, systemd timer, GitHub Actions, Kubernetes CronJob และ cloud scheduler เช่น AWS EventBridge และ Google Cloud Scheduler
นักพัฒนาใช้เครื่องมือเหล่านี้ระหว่างการ debug (แปลง timestamp จาก log หรือ row ของฐานข้อมูล), ระหว่างการ deploy (เขียนและตรวจสอบตารางเวลา cron ก่อน deploy), และระหว่าง code review (ยืนยันว่า cron expression ของเพื่อนร่วมงานตรงกับตารางเวลาที่ตั้งใจ) วิศวกร QA ใช้การแปลง timestamp เพื่อตรวจสอบว่าการตอบสนอง API มีค่าวันที่ที่ถูกต้อง วิศวกร DevOps ใช้เครื่องมือ cron เพื่อตั้งค่าตารางเวลาสำรองข้อมูล, การหมุนเวียน log และงาน certificate renewal
ทำไมต้องใช้เครื่องมือด้านเวลาบน ToolDeck?
เครื่องมือด้านเวลาของ ToolDeck ทำงานทั้งหมดในเบราว์เซอร์ของคุณ Timestamp และ cron expression ถูกประมวลผลในเครื่องผ่าน JavaScript ดังนั้นไม่มีข้อมูลใดออกจากเครื่องของคุณ เครื่องมือแต่ละอันมุ่งเป้าไปที่งานเดียวและโหลดทันทีโดยไม่มีขั้นตอนการสมัครหรือขีดจำกัดการใช้งาน
กรณีการใช้งานเครื่องมือด้านเวลา
ปัญหาทั้ง timestamp และ cron เกิดขึ้นอย่างต่อเนื่องในงาน backend, DevOps และ QA
อ้างอิงรูปแบบเวลาและไวยากรณ์ Cron
สองส่วนที่ควรรู้: รูปแบบ timestamp ที่ใช้ใน API, ฐานข้อมูล และ log; และไวยากรณ์ cron expression ที่ใช้โดย Unix cron, Kubernetes, GitHub Actions และ cloud scheduler
รูปแบบ Timestamp ทั่วไป
| รูปแบบ | ตัวอย่าง | มาตรฐาน / หมายเหตุ |
|---|---|---|
| 1717200000 | Unix วินาที | POSIX / IEEE Std 1003.1 |
| 1717200000000 | Unix มิลลิวินาที | JavaScript Date.now(), Java |
| 2024-06-01T00:00:00.000Z | UTC พร้อมมิลลิวินาที | ISO 8601 / RFC 3339 |
| 2024-06-01T00:00:00+02:00 | พร้อม UTC offset | ISO 8601 / RFC 3339 |
| Sat, 01 Jun 2024 00:00:00 +0000 | Email / HTTP header | RFC 2822 |
| 2024-06-01 | เฉพาะวันที่ | ISO 8601 (calendar date) |
ฟิลด์ Cron Expression
| ฟิลด์ | ค่าที่อนุญาต | อักขระพิเศษ |
|---|---|---|
| นาที | 0–59 | * , - / |
| ชั่วโมง | 0–23 | * , - / |
| วันในเดือน | 1–31 | * , - / ? L W |
| เดือน | 1–12 or JAN–DEC | * , - / |
| วันในสัปดาห์ | 0–6 or SUN–SAT | * , - / ? L # |
Cron แบบห้าฟิลด์มาตรฐาน (ตั้งแต่นาทีถึงวันในสัปดาห์) กำหนดโดย POSIX (IEEE Std 1003.1) และใช้งานโดย crontab, systemd, Kubernetes CronJob, GitHub Actions และ CI/CD platform ส่วนใหญ่ ระบบบางอย่างเช่น Quartz และ Spring เพิ่มฟิลด์ที่หกสำหรับวินาที AWS EventBridge ใช้ตัวแปรหกฟิลด์พร้อมฟิลด์ปี อักขระ L (สุดท้าย), W (วันทำงานที่ใกล้ที่สุด) และ # (การเกิดขึ้นลำดับที่ n) เป็นส่วนขยายที่รองรับโดยระบบที่เข้ากันได้กับ Quartz แต่ไม่ใช่ POSIX cron
วิธีเลือกเครื่องมือด้านเวลาที่เหมาะสม
เครื่องมือด้านเวลาแต่ละอันจัดการงานที่แตกต่างกัน และสามารถใช้เครื่องมือทั้งสี่ร่วมกันในขั้นตอนการทำงานเดียวได้ ใช้ตัวแปลง Timestamp ทุกครั้งที่พบค่า epoch ดิบใน log, การตอบสนอง API หรือ column ของฐานข้อมูล ใช้เครื่องมือ cron ร่วมกัน — ตัวสร้างเพื่อสร้าง expression, ตัวแยกวิเคราะห์เพื่อดูตัวอย่างเวลาการรัน และตัวตรวจสอบเพื่อยืนยันไวยากรณ์ — ก่อน commit ตารางเวลาลงใน manifest หรือ config file
- 1
- 2หากคุณต้องการ ทำความเข้าใจว่า cron expression ที่มีอยู่ทำอะไรและดูว่าจะรันครั้งถัดไปเมื่อใด → ตัวแยกวิเคราะห์ Cron Expression
- 3
- 4หากคุณต้องการ ตรวจสอบว่า cron expression ถูกต้องตามไวยากรณ์และตรวจสอบแต่ละฟิลด์ → ตัวตรวจสอบ Cron Expression
สำหรับขั้นตอนการทำงาน cron ที่สมบูรณ์: สร้าง expression ในตัวสร้าง, ดูตัวอย่างเวลาการรันครั้งถัดไปในตัวแยกวิเคราะห์ และตรวจสอบไวยากรณ์ในตัวตรวจสอบก่อน commit ลงใน manifest หรือ crontab หากคุณกำลัง debug timestamp จาก API หรือฐานข้อมูล ตัวแปลง Timestamp รองรับทั้ง Unix timestamp แบบวินาทีและมิลลิวินาที และส่งออกวันที่แบบ ISO 8601, RFC 2822 และรูปแบบตาม locale ตัวแปลง Timestamp ยังมีประโยชน์สำหรับการตรวจสอบ JWT: claim exp (หมดอายุ) และ iat (เวลาออก) ใน JSON Web Token เป็น Unix timestamp แบบวินาที และการวาง value ใดก็ตามลงในตัวแปลงจะแสดงเวลาออกหรือช่วงเวลาหมดอายุที่แน่ชัดโดยไม่ต้องเขียนโค้ดใดๆ