การแยกวันที่ออกจากสตริง

Ruby:
การแยกวันที่ออกจากสตริง

วิธีการ:

ใน Ruby, ไลบรารีมาตรฐานมีวิธีการโดยตรงในการแยกวันที่จากสตริงโดยใช้คลาส Date และ DateTime นี่คือวิธีที่คุณทำได้โดยใช้เมท็อดที่มีอยู่ในตัวของ Ruby:

require 'date'

# แยกวันที่จากสตริง
date_string = "2023-04-01"
parsed_date = Date.parse(date_string)
puts parsed_date
# => 2023-04-01

# DateTime สำหรับการแสดงเวลาอย่างละเอียด
datetime_string = "2023-04-01T15:30:45+00:00"
parsed_datetime = DateTime.parse(datetime_string)
puts parsed_datetime
# => 2023-04-01T15:30:45+00:00

สำหรับการควบคุมมากขึ้นหรือจัดการกับรูปแบบที่ parse อาจไม่เข้าใจโดยตรง คุณสามารถใช้ strptime (การแยกสตริงตามเวลา), โดยระบุรูปแบบอย่างชัดเจน:

# การใช้ strptime สำหรับรูปแบบที่กำหนดเอง
custom_date_string = "01-04-2023"
parsed_date_custom = Date.strptime(custom_date_string, '%d-%m-%Y')
puts parsed_date_custom
# => 2023-04-01

การใช้ไลบรารีภายนอก:

แม้ว่าความสามารถภายในตัวของ Ruby จะทรงพลัง แต่บางครั้งคุณอาจต้องการเลือกใช้ไลบรารีภายนอกเพื่อคุณสมบัติเพิ่มเติมหรือไวยากรณ์ที่ง่ายขึ้น หนึ่งในตัวเลือกยอดนิยมคือเจม Chronic สำหรับการแยกวันที่ด้วยภาษาธรรมชาติ:

  1. ก่อนอื่น เพิ่ม Chronic ไปยัง Gemfile ของคุณและรัน bundle install:
gem 'chronic'
  1. จากนั้น ใช้งานดังนี้:
require 'chronic'

parsed_chronic = Chronic.parse('next Tuesday')
puts parsed_chronic
# ผลลัพธ์จะแตกต่างกันไปตามวันที่ปัจจุบัน; สมมติการแยกวันที่ตามวันที่ 2023-04-01
# => 2023-04-04 12:00:00 +0000

Chronic มีประโยชน์มากสำหรับการป้อนข้อมูลจากผู้ใช้ เนื่องจากสามารถเข้าใจรูปแบบวันที่ในภาษาธรรมชาติได้หลากหลาย ทำให้เป็นเครื่องมือที่ทรงพลังสำหรับแอปพลิเคชันที่ต้องการการป้อนวันที่ได้อย่างยืดหยุ่น