はあなたのためにこれを行います無料、open-source date libraryです。コードの仕組みを正確に知りたい場合は、コードを調べてください。あなたはこのようなUTCタイムゾーンで午前0時から現在の時間と分を得るためにそれを使用することができます:
#include "date/date.h"
#include <iomanip>
#include <iostream>
int
main()
{
auto now = date::floor<std::chrono::minutes>(std::chrono::system_clock::now());
auto dp = date::floor<date::days>(now);
auto time = date::make_time(now - dp);
int hours = time.hours().count();
int minutes = time.minutes().count();
std::cout.fill('0');
std::cout << std::setw(2) << hours << ':' << std::setw(2) << minutes << '\n';
}
あなたには、いくつかの他の時間帯に情報が必要な場合は、あなたがこの追加IANA time zone parserが必要になります(または、あなた自身を書くことができますタイムゾーン管理システム)。上記のコードは、ローカルタイムゾーンで午前0時から時間と分を取得するので、同じように変更されます:
#include "date/tz.h"
#include <iomanip>
#include <iostream>
int
main()
{
auto zt = date::make_zoned(date::current_zone(),
std::chrono::system_clock::now());
auto now = date::floor<std::chrono::minutes>(zt.get_local_time());
auto dp = date::floor<date::days>(now);
auto time = date::make_time(now - dp);
int hours = time.hours().count();
int minutes = time.minutes().count();
std::cout.fill('0');
std::cout << std::setw(2) << hours << ':' << std::setw(2) << minutes << '\n';
}
これらのライブラリは、ここにgithubの上でご利用いただけます:ここで
https://github.com/HowardHinnant/date
は、ビデオプレゼンテーションです日付ライブラリの:
https://www.youtube.com/watch?v=tzyGjOm8AKo
そして、ここではビデオですpresentatiタイムゾーンのライブラリーの上:本当にしかしME-感謝を悩ますこのような
https://www.youtube.com/watch?v=Vwd3pduVGKY
そのもの。 – user997112