libical scheint nur den Olsen-Stadtnamen zu akzeptieren, um Zeitzonen in seiner Datenbank nachzuschlagen. Was ich habe, das ist tragbar ist eine Struktur tm, die einen GMT-Offset und die Kurzschrift 3-4 Buchstaben-Code (EST/EDT usw.) hat, aber es gibt keine Funktion, die das in libical akzeptiert.Gibt es einen portablen Weg, um die lokale Systemzeitzone in einen libischen icaltimetype zu bringen?
Ich habe eine wirklich miese Art und Weise, wo ich scannen die tz-Liste von libical versucht, die tznames, und das wird wahrscheinlich funktionieren, aber ich bin mir bewusst, das ist eine schlechte Idee. Aber ich habe keine andere Möglichkeit gefunden, die lokale Zeitzone in einen libicalischen Zeittyp zu bringen.
Fehle ich etwas einfaches?
Und durch portable meine ich Windows, OSX und Linux.
Dies ist ein c-Programm, das ich schreibe. Aber ich sehe jetzt, dass tz Offset ist nicht posix, so dass das nicht tun wird.
Sie wirklich nicht auf Abkürzung übereinstimmen möchten. Man beachte, dass "CST" 5 verschiedene Bedeutungen hat, "IST" hat 3 verschiedene Bedeutungen usw. Außerdem solltest du deine Frage mit einer Sprache versehen ([Tag: C], nehme ich an). Und es ist unklar, welche Eingaben Sie tatsächlich haben, denn [struct 'tm'] (http://www.cplusplus.com/reference/ctime/tm/) hat keinen Offset von GMT. Bitte klären Sie. –
meins tut: https://www.gnu.org/software/libc/manual/html_node/Broken_002ddown-Time.html Aber du hast recht, das ist nicht plattformunabhängig. – stu
Ich wusste, dass es eine schlechte Idee war, auf Abkürzungen zu schreiben, aber ich wollte etwas zum Testen ausprobieren, also ging ich vorerst mit. Deshalb stelle ich diese Frage. – stu