逆引きリファレンスの方には、Boost.DateTimeを使ってフォーマット出力する例を書いたので、こちらではオレオレDateTimeライブラリを使った例を書きます。
boost::filesystem::last_write_time()で、最終更新日時がとれ、std::time_tが返されます。
#include <iostream> #include <boost/filesystem.hpp> #include <shand/date_time.hpp> namespace fs = boost::filesystem; int main() { try { const fs::path path("dir1/a.txt"); const std::time_t last_update = fs::last_write_time(path); const shand::date_time time(last_update); std::cout << time.format("%Y/%m/%d %H:%M:%S") << std::endl; } catch (fs::filesystem_error& ex) { std::cout << "エラー発生! : " << ex.what() << std::endl; } }
実行結果の例:
2011/03/30 14:56:11