Tengo la fecha como cadena '2020-02-10 8,00' que quiero convertir al Monday, 10th of February . Soy consciente de este tema anterior, sin embargo, no puedo encontrar (o usar) ninguna información relacionada.
Todo lo que tengo es una cadena analizada hasta la fecha - Date.parse '2020-02-10 8,00'
¡Estás a mitad de camino! Date.parse '2020-02-10 8,00' produce un objeto Date de rubí, como ha notado. Ahora tienes que aplicar strftime . Sin embargo, strftime no tiene ninguna ordinalización, por lo que esa pieza debe hacerse manualmente.
date = Date.parse('2020-02-10 8,00') date.strftime("%A, #{date.day.ordinalize} of %B") #=> Monday, 10th of February ordinalize proporciona el método de ordinalización.
Si este formato se utilizará varias veces en su aplicación, es posible que desee agregar un formato para toda la aplicación:
# in config/initializers/time_formats.rb Date::DATE_FORMATS(:ordinalized_day) = lambda{|date| date.strftime("%A, #{date.day.ordinalize} of %B")} # anywhere in the app Date.today.to_formatted_s(:ordinalized_day)