Datum-format in smarty (Monat ohne führende null)
gerade jetzt, ich habe ein Datum, dass angezeigt wird, wie diese:
19\06\2013
was ich will, ist dieses :
19\6\2013
meine aktuelle smarty-code :
{$variable|date_format:"%e\%m\%Y"}
Versuchte ich mit %n für den Monat (ich nahm an, dass alles, was funktioniert, php funktioniert auch in smarty), aber es hat mir nicht jede Folge.
Wie kann ich den Monat ohne führende null in Smarty? gibt es eine workaround-Lösungen? Ich will nicht, zu Bearbeiten und formatieren Sie das Datum in meiner php-Datei.
- Die smarty-version verwenden Sie? Wenn Sie Smarty 3.x, können Sie mit der Datum-format anstatt im strftime-format wie so
{$variable|date_format:"d\j\Y"}
- dein code funktioniert nicht.. du hast vergessen die % vor jedem Brief. Und ich bin mit der letzten stabilen version von smarty. Lesen Sie die Frage vor der Beantwortung
- Nein, habe ich nicht vergessen, die
%
. Seine nur erforderlich, im strftime-format. Mein Beispiel funktioniert auf jeden Fall in Smarty 3.1.13 (neueste stable). Check-outmodifier.date_format.php
im smarty-plugins zu dir und dann wirst du erkennen, dass BEIDE Formate sind verfügbar (seit version 3.x). Lesen Sie den Kommentar, bevor er antwortete. - es ist bestens
djY
für mich - Mein schlechtes. Es tatsächlich gedruckt, da der \ ein escape-Präfix im format Datum. Funktioniert es auf diese Weise
{$variable|date_format:'d/n/Y'|replace:'/':'\\'}
? - Sofl ' s code funktioniert bei mir, wenn ich "\" für zum Beispiel "."
Du musst angemeldet sein, um einen Kommentar abzugeben.
Heute habe ich das gleiche problem und dies funktioniert für mich...
Windows server
Diese Lösung scheint zu funktionieren nur auf windows-basierten Server (localhost in meinem Fall).
Setzen Sie einfach hash
#
vor dem Buchstaben 'm'.Ich bin mit Smarty v3
Linux-server:
Zog ich mein Projekt auf remote-server (wahrscheinlich linux) und hash-Zeichen zu stoppen zu arbeiten. Ich habe eine andere Lösung gefunden, einfach den Bindestrich
-
vor dem Buchstaben 'm':Und das funktioniert auf linux, aber nicht unter windows.
Cross-Plattform-PHP-basierte Lösung:
Aber da smarty ist eine PHP-plugin, das wir verwenden können alle PHP-Funktionen. Das ist also eine andere Lösung, die ich gefunden, vielleicht nicht so elegant, aber es scheint zu funktionieren überall.
Hinweis:
Den oben genannten Lösungen arbeiten, die für die Formatierung Tag mit führender null auch:
{$variable|date_format:"j. n. Y":"":"eine beliebige Zeichenfolge - nicht entweder strftime oder auto"}
dann schreiben Sie das Datum im format wie in php-Funktion date().
smarty_modifier_date_format($string, " $format=null, $default_date=", " $formatter='auto')