Ich schreibe eine C++ App, die einen Datum/Uhrzeit-String parsen muss und Epoch Times ausgeben soll. Aber das Format der Datums-/Zeitstring kann mehr als eine sein (tatsächlich sagen, 25 Formate) wieDatums-/Zeitanalyse in C++ (Beliebige Formatzeichenfolge nach Epoche)
"EEE, dd MMM yyyy HH:mm:ss '('ZZZ')'",
"EEE, dd MMM yyyy HH:mm:ss '\"'ZZZ'\"'",
"EEE, dd MMM yyyy hh:mm:ss z",
"EEE, dd MMM yyyy HH:mm Z",
"EEE, dd MMM yyyy HH:mm:ss",
"EEE, MMM dd, yyyy 'at' HH:mm:ss z",
"EEE M/dd/yyyy hh:mm:ss a",
"EEE MMM dd HH:mm:ss z yyyy",
"EEE MMM dd hh:mm:ss yyyy",
"EEEE, MMMM dd, yyyy hh:mm:ss a",
"EEEE, MMMM dd, yyyy HH:mm a",
"EEEE, MMMM dd, yyyy HH:mm",
"MMM dd, yyyy hh:mm:ss a",
"dd MMM yyyy hh:mm:ss z",
"dd-MMM-yyyy HH:mm:ss z",
"dd MMM yy HH:mm:ss",
"MM/dd/yyyy hh:mm a (EEEE)",
"MM/dd/yyyy hh:mm a (EEEE)",
"MM/dd/yyyy hh:mm:ss",
"MM/dd/yyyy hh:mm a Z",
"MM/dd/yyyy hh:mma Z",
"MM/dd/yyyy hh:mma",
"MM/dd/yyyy hh:mm a",
"MM/dd/yyyy hh:mm Z",
"MM/dd/yy hh:mm a Z",
"MM/dd/yy hh:mma Z",
"MM/dd/yy HH:mm a",
"MM/dd/yy HH:mm Z",
"MM/dd/yyyy",
"yyyy-MM-dd HH:mm:ss",
"yyyyMMddhhmmss",
"yyyyMMddhhmm",
"yyyyMMdd"
Nun, ich brauche die Zeichenfolge zu nehmen, herauszufinden, es gehört, die dieser Formate, dann bekommen die Zeit in der Epoche.
Können Sie einen Weg vorschlagen, dies zu tun. Codebeispiele werden sehr hilfreich sein. Ich setze auf Boost-Bibliotheken. Lassen Sie mich wissen, ob dies durch Boost-Datum/Zeit-Parsing-Bibliotheken erreicht werden kann.
Vielen Dank im Voraus, AJ
Dank cubbi für so viel Zeit nehmen, werde ich versuchen, und komme zurück. – AMM
Jetzt sieht es so aus, dass% d und% m 2 Zeichen haben müssen, dh .. es muss wie 01 statt 1 und 05 statt 5 sein. Wie kann ich mit diesem Fall umgehen? Dies scheint ein Problem für mich zu verursachen. Sah auf die Format-Flags konnte nicht viel herausfinden. – AMM
Wenn Ihre Tage und Monate einzelne Ziffern ohne vorangestellte Null oder Leerstelle sein können, können einige dieser Formate nicht eindeutig analysiert werden. Für "yyyyMMdd", würde 2010111 2010-01-11 oder 2010-11-01 sein? Auf jeden Fall, wenn es etwas gibt, was date_time IO nicht verarbeiten kann, gibt es immer boost.spirit. – Cubbi