Das Problem ist:
der Code:
%Vor%der Code:
%Vor%aber ich kann noch nicht local_date_time mit der aktuellen time_zone bekommen ... Weiß jemand, wie es geht?
OK, für den Moment weiß ich immer noch nicht die ganze Antwort
aber es gibt einen Code, der beim Drucken des aktuellen Zeitzonen-Offsets helfen könnte
(basierend auf einer Antwort für eine verwandte Frage hier (stackoverflow) und einigen inneren Boost-Code)
Ich bin mir absolut nicht sicher, ob es auf allen Rechnern richtig funktioniert, aber jetzt ist es besser als nichts:
%Vor%Da Sie sagen, dass Sie Zeitzoneninformationen haben, ist die einzige Frage, wie Sie Boost für die Formatierung verwenden, die Sie benötigen. Unten ist ein Beispielcode:
%Vor% Bei diesem Ansatz ist der Posix-Zeitzonen-String der problematischste Teil. Ich denke, es sollte Datenbanken mit diesen Zeichenfolgen für jede Zeitzone geben und Boost bietet eine Vorlage für die Arbeit mit .csv-Datei. Wenn das einzige, was Sie brauchen, ist Offset in der Zeichenfolge nur DTS auf 0:00:00 und kümmern sich nicht um den Rest. Verwenden Sie zum Beispiel diese Zeichenfolge: PST-5:30PDT0,0,365
(für immer PDT, Shift 0). Ersetzen Sie "-5: 00" durch den benötigten Offset.
Allerdings würde C ++ / boost way seinen eigenen Zeitzonenanbieter implementieren, indem er von date_time::time_zone_base
.
Weitere Beispiele und Ideen finden Sie hier .
Wenn Sie also auch den korrekten UTC-Offset erhalten müssen, sollte mein vorheriges Beispiel ein wenig modifiziert werden, um den korrekten Zeitzonen-String zu erzeugen:
%Vor%Eine andere Lösung besteht darin, einen ganz neuen Zeitzonenanbieter zu schreiben. Wie dieser einfache:
%Vor% Übergeben Sie es einfach, wenn Sie local_date_time
:
Tags und Links c++ boost timezone boost-date-time