मैंने सोचा कि यह क्या IANA timezones वर्तमान में अब से संक्षिप्त नाम "GMT" का उपयोग कर रहे हैं, दोनों अब और 6 महीने की खोज के लिए मजेदार होगा (डेलाइट बचत समय पर वर्तमान में उन को पकड़ने के लिए)।
इस free, open source C++11/14 library का उपयोग करना, मैं इस कार्यक्रम ने लिखा है:
#include "tz.h"
#include <string>
#include <iostream>
#include <vector>
template <class Duration>
std::vector<date::zoned_time<std::common_type_t<Duration, std::chrono::seconds>>>
find_by_abbrev(date::sys_time<Duration> tp, const std::string& abbrev)
{
using namespace std::chrono;
using namespace date;
std::vector<zoned_time<std::common_type_t<Duration, seconds>>> results;
auto& db = get_tzdb();
for (auto& z : db.zones)
{
if (z.get_info(tp).abbrev == abbrev)
results.push_back(make_zoned(&z, tp));
}
return results;
}
int
main()
{
using namespace std::chrono;
using namespace date;
auto now = system_clock::now();
auto v = find_by_abbrev(now, "GMT");
for (auto const& x : v)
std::cout << format("%F %H:%M:%S %Z %z", x) << " "
<< x.get_time_zone()->name() << '\n';
std::cout << '\n';
v = find_by_abbrev(now + months{6}, "GMT");
for (auto const& x : v)
std::cout << format("%F %H:%M:%S %Z %z", x) << " "
<< x.get_time_zone()->name() << '\n';
}
यह सभी समय क्षेत्र है कि वर्तमान में उपयोग कर रहे हैं "GMT" के लिए ग्रह की खोज करता है, दोनों अब, और अब से 6 महीने, और उन्हें बाहर प्रिंट:
2016-06-18 01:00:25.632773 GMT +0000 Africa/Abidjan
2016-06-18 01:00:25.632773 GMT +0000 Africa/Accra
2016-06-18 01:00:25.632773 GMT +0000 Africa/Bissau
2016-06-18 01:00:25.632773 GMT +0000 Africa/Monrovia
2016-06-18 01:00:25.632773 GMT +0000 America/Danmarkshavn
2016-06-18 01:00:25.632773 GMT +0000 Atlantic/Reykjavik
2016-06-18 01:00:25.632773 GMT +0000 Etc/GMT
2016-12-17 15:55:01.632773 GMT +0000 Africa/Abidjan
2016-12-17 15:55:01.632773 GMT +0000 Africa/Accra
2016-12-17 15:55:01.632773 GMT +0000 Africa/Bissau
2016-12-17 15:55:01.632773 GMT +0000 Africa/Monrovia
2016-12-17 15:55:01.632773 GMT +0000 America/Danmarkshavn
2016-12-17 15:55:01.632773 GMT +0000 Atlantic/Reykjavik
2016-12-17 15:55:01.632773 GMT +0000 Etc/GMT
2016-12-17 15:55:01.632773 GMT +0000 Europe/Dublin
2016-12-17 15:55:01.632773 GMT +0000 Europe/London
मुझे यह देखने के लिए प्रसन्नता हुई कि सभी मामलों में यूटीसी ऑफसेट +0000
था। आप राजनेताओं और समय क्षेत्र के साथ कभी नहीं जानते। कुछ विधायी निकाय आसानी से "ग्रीन माउंटेन टाइम" (और कल कल हो सकता है) घोषित कर सकते हैं।
स्रोत
2016-06-18 01:15:17
मेरा मानना है कि जीएमटी और यूटीसी समान हैं। अंतर उन्हें परिभाषित संगठन का नाम है। ब्रिटिश एक (जीएमटी = ग्रीनविच मेरिडियन टाइम) ने अंतरराष्ट्रीय एक (यूटीसी) की भविष्यवाणी की। Http://en.wikipedia.org/wiki/UTC –
देखें क्योंकि यूटीसी फ्रेंच है और जीएमटी अंग्रेजी है? – arx
'यूटीसी +01' का उपयोग करना आम है: [समय क्षेत्र संक्षेपों की सूची] (http://en.wikipedia.org/wiki/List_of_time_zone_abbreviations), [यूटीसी ऑफसेट द्वारा समय क्षेत्र की सूची] (http: // en .wikipedia.org/विकी/List_of_time_zones_by_UTC_offset # toc) –