#include <x/tzfile.H> #include <x/ymdhms.H> time_t t=time(NULL); x::ymdhms now(t, x::tzfile::base::local()); x::ymd now_date(now); x::hms now_time(now);
      A
      x::ymdhms
      combines
      x::ymd,
      x::hms, and a
      x::tzfile to specify a date and time expressed
      in a timezone.
      A number of constructors are available for creating
      x::ymdhms from alternate sources; such as
      a time_t calendar time value and a timezone; or
      an explicit
      x::ymd and
      x::hms objects, together with a timezone; or
      a C library tm structure.
    
std::string now_s=x::to_string(now.short_format()); std::string now_s=x::to_string(now.format("%d-%b-%Y %H:%M:%S %z"));
      format() and
      short_format() methods return an intermediate
      object that can be converted by
      x::to_string()
      into a text string. This is done by
      instantiating a
      x::strftime
      object, and using it to format the x::ymdhms,
      accordingly.
      format() takes an optional date/time format
      string, which defaults to
      “%a, %d %b %Y %H:%M:%S %z”.
    
      See the
      reference documentation for a
      more complete description of x::ymdhms.
      Note that this class incurs more overhead than the
      tm-related functions in the C library.
      Basic needs that can be satisfied by C library functions should use them.
      Use this class for complicated requirements that cannot be easily
      satisfied by the C library, such as pulling apart the date and time
      components, and/or date/time arithmetic.