Ruby on Rails - comment afficher une date dans le format dont j'ai besoin? La conversion de AAAA-MM-JJ HH:MM:SS heure UTC à JJ/MM/AAAA
Je suis un RoR débutant. J'ai essayé beaucoup de choses, enfin, est venu à la suite:
<td>
<%= Date.strptime(request.baseline_start_date, "%Y-%M-%D %H:%M:%S %Z").strftime("%M/%D/%Y")%>
</td>
Mais c'est aussi, me donne une erreur:
$_ value need to be String (nil given)
Mais je sais que cela demande.baseline_start_date me donne de la valeur (essayé de l'imprimer séparément). Je ne sais pas lequel c'est dire que nul donné.
Des suggestions sur comment je peux obtenir la conversion de format?
Vous devez vous connecter pour publier un commentaire.
Dans les Rails, vous pouvez utiliser le
to_time
de la fonction sur une chaîne à convertir en un objet Date:Pour une pratique, interactif, guide de référence, reportez-vous à http://www.foragoodstrftime.com/
Je pense que peut-être que vous avez simplement la capitalisation sur vos chaînes de format incorrect.
Vérifier le soutien actif de la documentation et des exemples à:
http://apidock.com/rails/ActiveSupport/CoreExtensions/DateTime/Conversions/to_formatted_s
Exemples
Ou si vraiment vous voulez le personnaliser, de définir l'aide comme:
Vous pouvez utiliser la Chaîne de caractères#to_time (ou Date#to_time) fonction dans ActiveSupport pour convertir la chaîne en une Heure (ou la Date) objet. Ensuite, utilisez strftime comme vous l'avez déjà.
Ive écrit un très beau bijou qui simplifie l'ensemble du processus, et fait le formatage de la date SÈCHE.
Vérifier à:
http://github.com/platform45/easy_dates
Ce que j'ai fait est d'ajouter un initialiseur nommé conversions.rb dans le répertoire config/initialiseur
Après cela, Ajoutez une ligne comme suit:
Partir de là, vous pouvez rendre votre datetime à l'aide de votre format:
Il y a une liste pratique ici de la mise en forme des jetons de
Merci beaucoup pour la réponse. Mon problème est, la sortie semble être déjà de la chaîne et j'ai pour convertir une date en chaîne de caractères à un autre format.
Quand je regarde la date stockée dans la base de données (Oracle), il est mm/jj/aa, mais quand je l'affiche, il ajoute l'heure et le fuseau horaire.
J'ai essayé le réglage par défaut dans Configuration\environnement.rb comme
ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS.fusionner les!(
:par défaut => '%d %b %Y'
)
Mais qui ne semble pas aider.
À la fin, si je viens d'obtenir la chaîne de caractères à convertir à partir de Fuseau horaire format mm/jj/aaaa, c'est assez.