C++20 युक्ति chrono::time_point
. के परिवार का परिचय देती है s जिसे local_time
कहा जाता है
:
// [time.clock.local], local time
struct local_t {};
template<class Duration>
using local_time = time_point<local_t, Duration>;
using local_seconds = local_time<seconds>;
using local_days = local_time<days>;
ये time_point
s "बिना टाइमज़ोन के टाइमस्टैम्प" का प्रतिनिधित्व करते हैं।
यहां इस C++20 लाइब्रेरी का एक मुक्त, मुक्त स्रोत पूर्वावलोकन मौजूद है:
https://github.com/HowardHinnant/date
जो वर्तमान में दुनिया भर में अन्य परियोजनाओं द्वारा उपयोग में है। इस लाइब्रेरी में C++20 स्पेक से कुछ मामूली बदलाव हैं, जैसे सब कुछ namespace date
में डालना namespace std::chrono
।
इस पुस्तकालय का उपयोग करने वाला उदाहरण कार्यक्रम:
#include "date/date.h"
#include <iostream>
int
main()
{
using namespace date;
using namespace std::chrono;
int y = 2019;
int m = 8;
int d = 28;
int H = 14;
int M = 42;
int S = 16;
int US = 500'000;
local_time<microseconds> lt = local_days{year{y}/m/d} + hours{H} +
minutes{M} + seconds{S} + microseconds{US};
std::cout << lt << '\n';
}
आउटपुट:
2019-08-28 14:42:16.500000