auto time = std::time(nullptr);
std::cout << std::put_time(std::localtime(&time), "%F %T%z"); // ISO 8601 format.
বর্তমান সময়টি হয় হয় ব্যবহার করুন std::time()
বা std::chrono::system_clock::now()
(বা অন্য কোনও ঘড়ির ধরণ ) পান।
std::put_time()
(সি ++ 11) এবং strftime()
(সি) times সময়গুলিকে আউটপুট দেওয়ার জন্য প্রচুর বিন্যাস সরবরাহ করে।
#include <iomanip>
#include <iostream>
int main() {
auto time = std::time(nullptr);
std::cout
// ISO 8601: %Y-%m-%d %H:%M:%S, e.g. 2017-07-31 00:42:00+0200.
<< std::put_time(std::gmtime(&time), "%F %T%z") << '\n'
// %m/%d/%y, e.g. 07/31/17
<< std::put_time(std::gmtime(&time), "%D");
}
বিন্যাসগুলির ক্রমটি গুরুত্বপূর্ণ:
std::cout << std::put_time(std::gmtime(&time), "%c %A %Z") << std::endl;
// Mon Jul 31 00:00:42 2017 Monday GMT
std::cout << std::put_time(std::gmtime(&time), "%Z %c %A") << std::endl;
// GMT Mon Jul 31 00:00:42 2017 Monday
এর বিন্যাসগুলি strftime()
একই রকম:
char output[100];
if (std::strftime(output, sizeof(output), "%F", std::gmtime(&time))) {
std::cout << output << '\n'; // %Y-%m-%d, e.g. 2017-07-31
}
প্রায়শই মূলধন বিন্যাসটির অর্থ "সম্পূর্ণ সংস্করণ" এবং ছোট হাতের অর্থ সংক্ষিপ্তসার (যেমন Y: 2017, y: 17)।
স্থানীয় সেটিংস আউটপুট পরিবর্তন করে:
#include <iomanip>
#include <iostream>
int main() {
auto time = std::time(nullptr);
std::cout << "undef: " << std::put_time(std::gmtime(&time), "%c") << '\n';
std::cout.imbue(std::locale("en_US.utf8"));
std::cout << "en_US: " << std::put_time(std::gmtime(&time), "%c") << '\n';
std::cout.imbue(std::locale("en_GB.utf8"));
std::cout << "en_GB: " << std::put_time(std::gmtime(&time), "%c") << '\n';
std::cout.imbue(std::locale("de_DE.utf8"));
std::cout << "de_DE: " << std::put_time(std::gmtime(&time), "%c") << '\n';
std::cout.imbue(std::locale("ja_JP.utf8"));
std::cout << "ja_JP: " << std::put_time(std::gmtime(&time), "%c") << '\n';
std::cout.imbue(std::locale("ru_RU.utf8"));
std::cout << "ru_RU: " << std::put_time(std::gmtime(&time), "%c");
}
সম্ভাব্য আউটপুট ( কলিরু , সংকলক এক্সপ্লোরার ):
undef: Tue Aug 1 08:29:30 2017
en_US: Tue 01 Aug 2017 08:29:30 AM GMT
en_GB: Tue 01 Aug 2017 08:29:30 GMT
de_DE: Di 01 Aug 2017 08:29:30 GMT
ja_JP: 2017年08月01日 08時29分30秒
ru_RU: Вт 01 авг 2017 08:29:30
আমি std::gmtime()
ইউটিসিতে রূপান্তর করার জন্য ব্যবহার করেছি । std::localtime()
স্থানীয় সময় রূপান্তর করতে সরবরাহ করা হয়।
সাবধান! কেউ য়েন asctime()
/ ctime()
যা অন্যান্য উত্তর উল্লেখ হিসাবে বর্তমানে অবচিত এবং চিহ্নিত হয় strftime()
পছন্দের দিতে হবে।