Boost logo

Boost Users :

From: Aljaz (aljaz.fajmut_at_[hidden])
Date: 2007-05-15 09:00:11


Hello

I want to output current date/time on my computer including timezone in this
format:
Date: Tue, 15 May 2007 09:21:48 -0400

-0400 is a timezone

Im not really familiar with timezones and I could not understand the
documentation how to output local timezone this way.
Basically I just want to output local timezone on computer..

Heres what I have so far:

#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/local_time/local_time.hpp>
#include <boost/date_time/local_time/posix_time_zone.hpp>
#include <boost/date_time/date_facet.hpp>
#include <ctime>
#include <locale>
#include <memory>
#include <sstream>
#include <boost/shared_ptr.hpp>

std::string mystrftime(const std::string format, time_t time,
        const std::locale& locale = std::locale::classic()) {
 boost::shared_ptr<boost::local_time::time_zone> tz(new
boost::local_time::posix_time_zone("dont know what to put here"));
 boost::local_time::local_date_time dt(boost::posix_time::from_time_t(time),
tz);
 boost::local_time::local_time_facet *ff = new
boost::local_time::local_time_facet();
 ff->format(format.c_str());
 std::stringstream s;
 s.imbue(std::locale(std::locale::classic(), ff));
 s << dt;
 return s.str();
}

int main () {
 std::cout << mystrftime("%A, %B %d, %Y %q", std::time(0)) << '\n';
}

Thanks for help
Regards
A


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net