さまざまな国にあるサーバーでコードを実行したとしても、Boost と C++ を使用してニューヨークの現地時間を正確に計算するにはどうすればよいでしょうか?
私が試したこと
Boost C++の例を見てみましたが、何も見つからなかったようです。
まず、UTC 時刻を取得する必要がありますboost::posix_time::second_clock::universal_time()
。
あなたが与えたリンクから:
//eastern timezone is utc-5
typedef boost::date_time::local_adjustor<ptime, -5, us_dst> us_eastern;
// ...
ptime t3 = us_eastern::utc_to_local(t2);//back should be the same
std::cout << to_simple_string(t2) << " UTC is "
<< to_simple_string(t3) << " New York time "
<< "\n\n";
NY 時間に変換するには、タイムゾーンの local_adjustor を定義し、そこutc_to_local
から呼び出します。