Je suis au courant de chronique, l'analyseur de langue naturelle pour la conversion de la langue en un format de calcul de la base de données, mais je me demande comment je peux convertir ces données dans quelque chose d'humain peut comprendre facilement.
Par exemple: P> Par exemple: P> Par exemple: P> > Y a-t-il un moyen de prendre "2011-02-18 20:00:00" et de le représenter comme "vendredi 18 février 2011 à 22h" ?? P > essentiellement l'inverse de chronique? p> p>
3 Réponses :
Jetez un coup d'œil à Strftime, c'est un lien vers C'est la mise en œuvre pour la classe de temps. Avec cela, vous devriez pouvoir obtenir la date de faire tout ce que vous voulez: -) p> >> Time.now.strftime("%A, %B %d, %Y at %l%p")
=> "Thursday, February 17, 2011 at 5PM"
Lien recommandé (pour comprendre toutes les varaces de la date possibles) foragoodstrftime.com
http://api.rubyonrails.org/classes/dateTime. HTML # méthode-i-to_formatted_s
Si vous vouliez faire la date et l'heure actuelles, faites simplement: p> pour obtenir: p> Si vous souhaitez écrire votre propre formatage, l'API montre comment vous pouvez le faire dans ce lien. Voici une liste des formats disponibles: P> %a weekday name.
%A weekday name (full).
%b month name.
%B month name (full).
%c date and time (locale)
%d day of month [01,31].
%H hour [00,23].
%I hour [01,12].
%j day of year [001,366].
%m month [01,12].
%M minute [00,59].
%p AM or PM
%S Second [00,61]
%U week of year (Sunday)[00,53].
w weekday [0(Sunday),6].
W week of year (Monday)[00,53].
x date (locale).
%X time (locale).
%y year [00,99].
%Y year [2000].
%Z timezone name.
J'ai été surpris qu'il n'y avaitit pas de "revers de gemme chronique", alors j'en ai écrit un. Cela fonctionnera sur vos objets Activerecord. P>
Just Gem Installez et appelez la méthode «jolie» sur votre champ créé_at ou tout autre champ avec une classe d'activesupport :: Timewithzone. P>
Cela existe déjà dans des rails. Regardez sur initialiseurs / date_time_formats.rb code> - Ceux-ci spécifient les formats que vous pouvez passer à ActiveSupport :: timewithzone # to_s code>. Voir temps # to_formatted_s . Pour des temps relatifs, il existe le TIME_AGO_IN_WORDS CODE> Aidateurs.
À mon avis, la distance entre les mots et il y a du temps dans les mots fournit une solution utile à court terme, mais pas une solution utile à long terme. "Il y a 5 mois" ou "il y a 2 ans" ne sont pas des assistants utiles pour vos utilisateurs. Les défauts définis sur Hublot anticient que les aides tels que "lundi dernier" concernent les utilisateurs les plus éloignés du retour qui voudront penser au temps sans qu'il soit pleinement qualifié. À mon avis, c'est un meilleur UX. En tant que Dev, j'ai également essayé d'anticiper la manière dont les Devs utilisent des données de modèle et d'ajouter l'aide directement aux champs où Dotiw & Taiw sont les plus utilisés dans les applications Rails.