2010-09-14 20 views
1

J'ai obtenu le code ci-dessous que je voudrais convertir en une chaîne dans un format spécifique. Mais je ne peux pas le faire fonctionner.Strftime de datetime

Date.today + warning.notify_time_close.seconds 

Ce que je veux faire est quelque chose comme ça, mais ça ne marche pas :)

(Date.today + warning.notify_time_close.seconds).strftime "%d-%m-%Y %H:%M:%S" 

Je sais que simple, mais ne savent pas comment le faire :)

Merci d'avance!

Kenneth

+0

Que 'warning.notify_time_close' retour? Si c'est un int alors ce qui précède devrait fonctionner. Je suppose que ce n'est pas le cas. –

+1

Si vous faites 'Date.today + 3' il ajoute trois jours, pas trois secondes – Mischa

+0

C'est un int .. et cela fonctionne dans la console .. mais im l'utiliser dans un constructeur RSS .. Il obtient cette erreur: méthode non définie 'strftime 'pour # Twiddr

Répondre

5

Cela ne devrait pas être nécessaire, mais comme une solution de contournement, vous pouvez essayer ceci:

Time.at(
    Date.today.to_time.to_i + warning.notify_time_close.seconds 
).strftime("%d-%m-%Y %H:%M:%S") 
+0

Ne fonctionne pas non plus .. :) Obtient toujours une erreur: méthode non définie' strftime' pour # Twiddr

+0

Bien alors 'warning.notify_time_close.seconds' est un' String en quelque sorte ... que se passe-t-il si vous essayez 'warning.notify_time_close.seconds.to_i'? – Mischa

+0

Toujours le même .. Même obtenir l'erreur si je remplace warning.notify_time_close avec 100 .. Tout se passe dans un fichier feed.rss.builder - cela pourrait-il être un problème? – Twiddr