donc je crée à mon avis:
Comment puis-je obtenir le nom du mois en dehors de la date? J’essayais de faire comme si
Mais sans succès. Je continue à recevoir une erreur: constante non initialisée ActionView::Base::ComstackdTemplates::MONTHNAMES
Comment puis-je initialiser la constante ou existe-t-il un autre moyen de retirer le nom du format Date?
apprécierait grandement toutes les réponses!
Ref ce
<% @date = Date.today %> <%= @date.strftime("%B")%>
si
@date >> Fri, 11 Jun 2010
puis
@date.strftime("%B") >> "June"
Si vous recherchez uniquement le nom du mois, la constante Date::MONTHNAMES
fournie par rails est la solution la plus simple pour vous:
Date::MONTHNAMES = [ [ 0] nil, [ 1] "January", [ 2] "February", [ 3] "March", [ 4] "April", [ 5] "May", [ 6] "June", [ 7] "July", [ 8] "August", [ 9] "September", [10] "October", [11] "November", [12] "December" ]
Si vous voulez un nom de mois localisé, essayez:
I18n.t('date.month_names')[date.month]
Exemple:
I18n.t('date.month_names')[12] #=> "Dezembro"
Si vous avez un format de date / heure personnalisé que vous devez utiliser à plusieurs resockets, vous pouvez étendre l’assistant de date / heure ActiveSupport.
par exemple si vous définissez ce qui suit dans votre config / environment.rb
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(:full_english => "%A %B %d, %Y at %I:%M %p")
alors quand vous appelez Time.now.to_s(:full_english)
dans vos vues, vous obtiendrez quelque chose comme:
"Friday June 11, 2010 at 12:53 PM"
La méthode strftime
de Ruby est bien documentée sur http://apidock.com/ruby/Time/strftime
Choisissez ce que vous voulez
Date.parse('5-jan-2017').strftime('%B')
Résultat:
=> “Janvier”
Date.parse('5-jan-2017').strftime('%b')
Résultat:
=> “Jan”
Pour la plupart de vos questions relatives à la date ultérieure, référez-vous à ce lien http://www.foragoodstrftime.com/