Ruby strftime: Tag ohne führende Null,% e funktioniert nicht

9

Ich versuche ein Datum mit einem Tag ohne führende Null zu formatieren

mit% d funktioniert es gut, aber mit führender Null

%Vor%

Ich habe gegoogelt und gefunden, dass ich% e anstelle von% d verwenden sollte, aber das folgende zu tun, gibt mir einen leeren String.

%Vor%

Hat das etwas mit der Version von Ruby zu tun? Ich verwende v1.8.7 auf einem Windows-Rechner. Und noch wichtiger, gibt es eine andere Möglichkeit, einen Tag ohne Null zu erreichen (bequemer als gsub)?

    
Michael Torfs 23.03.2011, 18:00
quelle

5 Antworten

3

Ich hatte Probleme mit strftime unter Windows, die nicht die gleichen Codes wie unter unix unterstützen.

Außerdem habe ich Folgendes auf Mac OS X ausgeführt:

%Vor%

Wie Sie sehen können, gibt es einen Platz, wo die Null war. Sie müssen weiterhin die Zeichenfolge verarbeiten, nachdem ruftime aufgerufen hat.

Ich würde sagen, gehen Sie mit der sichersten Wette, in diesem Fall% d, und rufen Sie gsub / trim darauf.

    
edmz 23.03.2011, 18:13
quelle
19

Wenn Sie die führende Null für Monat oder Tag löschen möchten, fügen Sie einfach ein Minuszeichen vor dem Format hinzu:

%Vor%     
Colin MacKenzie - III 12.08.2014 15:43
quelle
9

Als Option:

%Vor%     
Vasiliy Ermolovich 23.03.2011 18:22
quelle
1

probiere das

aus %Vor%     
Shiv 23.03.2011 18:14
quelle
1

Leider bleibt in %e immer noch ein Leerzeichen anstelle von 0. Wenn Sie keinen Platz haben wollen, würde ich einfach die führende 0 entfernen.

%Vor%     
Ryan 07.12.2012 18:36
quelle

Tags und Links