Warum funktioniert Perls POSIX :: strftime% F-Spezifizierer nicht unter Windows?

8

Ich bin der Autor des Mac :: PropertyList -Moduls, das das Apple-Eigenschaftslistenformat analysiert . Ich habe dies so konzipiert, dass es plattformübergreifend funktioniert, aber ich habe Probleme mit POSIX % s strftime -Funktion, die ich Verwenden Sie diese Option, um die Datumsfelder in dem von Apple angegebenen Format zu erstellen.

%Vor%

Auf unixartigen Plattformen, einschließlich Darwin, erzeugt dieser Aufruf die richtige Art von Datum:

%Vor%

Unter Windows erzeugt es:

%Vor%

Dies wurde als CPAN RT # 83460 gemeldet. Was ist mit Windows hier los?

    
brian d foy 24.09.2013, 00:03
quelle

1 Antwort

12

Als ich diese Frage schrieb und alles erforschte, fand ich meine eigene Antwort. Ich will nicht, dass all diese Arbeit verloren geht.

Das von mir verwendete %F -Format ist nicht portierbar, und das POSIX -Modul sagt in seinem strftime -Eintrag:

%Vor%

%F ist wirklich %Y-%m-%d , also sollte ich das verwenden.

Mein spezielles Problem ist, dass ich weiß, dass das Modul POSIX Ihnen sagt, welche Formatspezifizierer Sie verwenden können, um tragbar zu sein, aber ich muss immer noch auf die strftime man-Seite schauen, um zu sehen, was sie machen. Wenn ich auf die man-Seite schaue, vergesse ich zu überprüfen, welche portabel sind.

    
brian d foy 24.09.2013, 00:03
quelle

Tags und Links