Päivämäärän jäsennys merkkijonosta

Ruby:
Päivämäärän jäsennys merkkijonosta

Kuinka:

Rubyn vakiokirjasto tarjoaa suorat tavat jäsentää päivämäärät merkkijonoista käyttämällä Date- ja DateTime-luokkia. Tässä on miten teet sen käyttäen Rubyn sisäänrakennettuja metodeja:

require 'date'

# Jäsenetään päivämäärä merkkijonosta
date_string = "2023-04-01"
parsed_date = Date.parse(date_string)
puts parsed_date
# => 2023-04-01

# DateTime tarkempaa ajan esitystä varten
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

Jos haluat enemmän kontrollia tai käsitellä muotoja, joita parse-metodi ei ehkä suoraan ymmärrä, voit käyttää strptime (merkkijono parsii ajan), määrittäen muodon nimenomaisesti:

# Käytettäessä strptime-metodia mukautetuille formaateille
custom_date_string = "01-04-2023"
parsed_date_custom = Date.strptime(custom_date_string, '%d-%m-%Y')
puts parsed_date_custom
# => 2023-04-01

Kolmannen osapuolen kirjastojen käyttö:

Vaikka Rubyn sisäänrakennetut mahdollisuudet ovat tehokkaita, joskus saatat mieluummin käyttää kolmannen osapuolen kirjastoja lisäominaisuuksien tai yksinkertaisemman syntaksin takia. Yksi suosittu valinta on Chronic-gem luonnollisen kielen jäsentämiseen:

  1. Lisää ensin Chronic Gemfileesi ja suorita bundle install:
gem 'chronic'
  1. Sitten käytä sitä näin:
require 'chronic'

parsed_chronic = Chronic.parse('seuraava tiistai')
puts parsed_chronic
# Tulostus vaihtelee nykyisen päivämäärän mukaan; olettaen että jäsentäminen tapahtuu 2023-04-01
# => 2023-04-04 12:00:00 +0000

Chronic on erittäin hyödyllinen käyttäjän syötteen kannalta, sillä se ymmärtää laajan valikoiman luonnollisen kielen päivämäärämuotoja, tehden siitä tehokkaan työkalun sovelluksille, jotka vaativat joustavaa päivämäärän syöttöä.