Comment imprimer un J'ai un print_pretty_datetime (const poco :: horodatage et maintenant) code> où je recevrai un MCVE: P> poco :: horodatage code> avec
POCO :: DateTimeformatter code> dans une date de date formatée basée sur le fuseau horaire actuel?
poco :: horodatage code> donc je ne peux donc pas utiliser de
poco :: localdateTime code> Malheureusement. P>
SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
g++ (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
Poco 1.9.0
3 Réponses :
Obtenez heure locale par POCO :: localDateTime code>, puis lisez son horodatage et transmettez-le dans Formatter:
std::string dt_now = Poco::DateTimeFormatter::format(
now,
"%H:%M:%S %z,%Z",
Poco::Timezone::tzd()
);
Hé bon point (je l'ai également mentionné dans ma réponse). J'ai édité ma question telle que ce n'était pas assez clair. Je n'ai aucun contrôle sur le (code> horodatage code>: C'est un paramètre que je recevrai dans ma fonction, donc en fonction de celui-ci, je dois imprimer la date de date actuelle.
D'accord, si vous n'avez pas besoin d'utiliser un POCO :: Timeestamp CODE>, une solution peut simplement utiliser un
POCO :: localdateTetime code>:
#include "Poco/LocalDateTime.h"
#include "Poco/DateTimeFormatter.h"
#include "Poco/DateTimeFormat.h"
#include <iostream>
#include <string>
int main()
{
Poco::LocalDateTime now;
std::string dt_now = Poco::DateTimeFormatter::format(
now,
Poco::DateTimeFormat::SORTABLE_FORMAT
);
std::cout << dt_now << '\n';
return 0;
}
Vous pouvez créer un poco :: localdateTime code> dans le fuseau horaire actuel du système à partir d'un
POCO :: horodatage code> via un intermédiaire
poco :: Datetime code> objet.
#include "Poco/LocalDateTime.h"
#include "Poco/DateTime.h"
#include "Poco/DateTimeFormat.h"
#include "Poco/DateTimeFormatter.h"
#include <iostream>
int main(int argc, char** argv)
{
Poco::Timestamp ts;
Poco::DateTime dt(ts);
Poco::LocalDateTime ldt(dt);
std::string str = Poco::DateTimeFormatter::format(ldt, Poco::DateTimeFormat::SORTABLE_FORMAT);
std::cout << str << std::endl;
return 0;
}
Cool, ne pouvait pas comprendre le passage de horodatage code> à
localDateTime code>