Frage

Was C-Funktion soll ich nenne ein formatierte Datum und die Uhrzeit für das Gebietsschema zu erhalten, in dem das Programm ausgeführt wird?

Ich frage diese Frage, weil ich in ein Problem laufen habe mit dem ClamAV-Daemon API. Der VERSION Befehl gibt das Datum und die Uhrzeit der neuesten Virendefinitionen, aber der Code verwendet einen Aufruf an ctime es zu formatieren. Soweit ich ctime nicht die Datumzeit nach dem aktuellen Gebietsschema und verwendet die englischen Abkürzungen für die Wochentage und Monat im zurückgegebenen String-Format nicht sagen kann. Dies führt zu Problemen, wie mein Java-Programm, das das ClamAV-API verwendet nicht die aktuellen locale respektieren und somit erwartet, dass der Tag der Woche und Monatsnamen, die lokalen Abkürzungen haben.

Das Datums-Zeitformat im gleichen Format wie die von Ctime :

Www Mmm dd hh: mm: ss yyyy

Wo Www der Wochentag ist, Mmm der Monat in Buchstaben, dd den Tag des Monats, hh: mm:. Ss die Zeit und yyyy das Jahr

Ich konnte das Java-Programm neu zu schreiben, immer Englisch Daten übernehmen, aber ich würde glücklicher sein, einen Patch zu ClamAV vorzulegen, da es wie ein Fehler auf ihrer Seite zu mir scheint.

War es hilfreich?

Lösung

strftime("%c", ... sollten Sie die bevorzugten Datums- und Zeitdarstellung für die aktuelle locale. Oder (noch mit strftime) können Sie ctime das Format aber mit %b für Strom-locale Monat Abkürzung, %a für Strom-locale Wochentag Abkürzung emulieren, und so weiter.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top