SORU
14 Aralık 2009, PAZARTESİ


Nasıl format tarih biçimi GG/AA/yyyy ile nesne?

Nasıl biçiminde geçerli tarih Boost kütüphaneler kullanarak, baskı GG/AA/yyyy H mm olabilir miyim?

Ben ne var:

boost::posix_time::ptime now = boost::posix_time::second_clock::local_time();
cout << boost::posix_time::to_simple_string(now).c_str();

2009-Dec-14 23:31:40

Ama istiyorum:

14-Dec-2009 23::40 31

CEVAP
14 Aralık 2009, PAZARTESİ


Eğer Boost.Date_Time kullanıyorsanız bu IO yönü kullanılarak yapılır.

boost/date_time/posix_time/posix_time_io.hpp doğru model typedefs (wtime_facet, time_facet, vb.) eklemek gerekir boost::posix_time::ptime için. Bu tamamlandığında, kod oldukça basittir. Çıkış, sadece ptime çıkış ardından ostream üzerinde aşılamak arayın:

#include <iostream>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/posix_time/posix_time_io.hpp>

using namespace boost::posix_time;
using namespace std;

int main(int argc, char **argv) {
  time_facet *facet = new time_facet("%d-%b-%Y %H:%M:%S");
  cout.imbue(locale(cout.getloc(), facet));
  cout << second_clock::local_time() << endl;
}

Çıkış:

14-Dec-2009 16:13:14

Ayrıca çıkış meraklısı bir şey istiyorsanız list of format flags boost doktorlar, bkz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EEVblog

    EEVblog

    4 NİSAN 2009
  • KRQE

    KRQE

    6 AĞUSTOS 2007
  • RyanXLT

    RyanXLT

    22 Ocak 2011