Nếu bạn đang sử dụng Boost.Date_Time, đây là được thực hiện bằng cách sử dụng các khía cạnh IO.
Bạn cần phải bao gồm boost/date_time/posix_time/posix_time_io.hpp
để có được những typedefs khía cạnh đúng (wtime_facet
, time_facet
, vv) cho boost::posix_time::ptime
. Một khi điều này được thực hiện, mã là khá đơn giản. Bạn gọi thấm nhuần vào ostream
bạn muốn xuất ra, sau đó chỉ cần đầu ra của bạn ptime
:
#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;
}
Output:
14-Dec-2009 16:13:14
Xem thêm các list of format flags trong tài liệu tăng, trong trường hợp bạn muốn đầu ra một cái gì đó fancier.
Và http://www.boost.org/doc/libs/1_35_0/doc/html/date_time/date_time_io.html#date_time.format_flags cho cờ định dạng. –
Tôi đã làm việc cho tôi, cảm ơn! – Alfredo
Sẽ cout mất quyền sở hữu và xóa con trỏ khía cạnh? – Arthur