Phân tích ngày từ chuỗi kí tự

Ruby:
Phân tích ngày từ chuỗi kí tự

Làm thế nào:

Ruby đã hỗ trợ bạn với thư viện Date của mình, giúp biến đổi chuỗi thành ngày cực kỳ dễ dàng. Chỉ đừng quên require 'date' trước khi bạn bắt đầu.

require 'date'

# Phân tích cú pháp một ngày (định dạng ISO) từ chuỗi
date_string = "2023-04-01"
parsed_date = Date.parse(date_string)
puts parsed_date
# => 2023-04-01

# Nếu định dạng của chúng ta đi lạc hướng thì sao? Hãy thử điều này.
begin
  custom_date = Date.strptime('03/31/2023', '%m/%d/%Y')
  puts custom_date
rescue ArgumentError
  puts "Đó không phải là định dạng ngày hợp lệ, bạn à."
end
# => 2023-03-31

Tìm hiểu sâu hơn

Trong quá khứ, Ruby ít khoan dung hơn đối với các định dạng ngày. Các lập trình viên phải thủ công vật lộn với chuỗi để trích xuất ngày. Bây giờ, Date.parse tự động phát hiện hầu hết các định dạng ngày phổ biến, và nếu nó bị nhầm lẫn, Date.strptime cho phép bạn chỉ định chính xác định dạng để tránh hiểu nhầm.

Ngoài ra, nếu bạn đang xử lý dữ liệu ngày-giờ phức tạp hơn, DateTime có thể là lựa chọn của bạn, đặc biệt là để phân tích cả thời gian. Hơn nữa, đối với những người sử dụng ngoài thư viện chuẩn của Ruby, có gem Chronic do những người thông minh ở GitHub tạo ra, hiểu một loạt các biểu thức ngày bằng ngôn ngữ tự nhiên.

Phía dưới tất cả sự đơn giản này, việc phân tích cú pháp của Ruby thực sự được hỗ trợ bởi các mẫu định dạng ngày phù hợp với các phần khác nhau của chuỗi ngày với các yếu tố ngày tương ứng (năm, tháng, ngày, v.v.). Vì vậy, khi chuỗi của bạn không khớp với mẫu mong đợi, bạn sẽ cần phải thông báo cho Ruby với strptime và các hướng dẫn định dạng đúng.

Xem thêm