1+ #include < iostream>
2+ #include " ExampleRegistry.h"
3+
4+ #include < ctime>
5+
6+ namespace {
7+ void run () {
8+ // **1. Get the current timestamp**
9+ std::time_t now = time (NULL );
10+ const auto * ts = ctime (&now);
11+ std::cout << " Current time: " << ts << ' \n ' ;
12+
13+ // **2. Create the dt structure**
14+ struct tm datetime = *localtime (&now);
15+ std::cout << " Year: " << datetime.tm_year + 1900 << ' \n ' ;
16+ std::cout << " Current time stamp: " << mktime (&datetime) << ' \n ' ;
17+
18+ // **3. Formatting**
19+ char output[50 ];
20+ strftime (output, 50 , " %B %e, %Y" , &datetime);
21+ std::cout << output << " \n " ;
22+ strftime (output, 50 , " %I:%M:%S %p" , &datetime);
23+ std::cout << output << " \n " ;
24+ strftime (output, 50 , " %m/%d/%y" , &datetime);
25+ std::cout << output << " \n " ;
26+ strftime (output, 50 , " %a %b %e %H:%M:%S %Y" , &datetime);
27+ std::cout << output << " \n " ;
28+ }
29+ } // namespace
30+
31+ class CTime : public IExample {
32+ public:
33+ std::string group () const override { return " core/datetime" ; }
34+ std::string name () const override { return " CTime" ; }
35+ std::string description () const override { return " " ; }
36+ void execute () override { run (); }
37+ };
38+
39+ REGISTER_EXAMPLE (CTime, " core/datetime" , " CTime" );
0 commit comments