-1

アプリケーションから秒、分、時、日、月、年を単一の値として取得し、この値から UNIX タイムスタンプを生成する必要があります。

C関数でタイムスタンプを直接取得する方法しか見つけられませんでした。

C++ で指定された値を使用して UNIX タイムスタンプを生成するにはどうすればよいですか?

4

1 に答える 1

5

C++ 標準ライブラリでも使用std::mktimeできる C ライブラリ関数を使用します。

#include <ctime>

std::tm tm;
tm.tm_sec = seconds;
tm.tm_min = minutes;
tm.tm_hour = hours;
tm.tm_mday = day;
tm.tm_mon = month - 1;    // Assuming your month represents Jan with 1
tm.tm_year = year - 1900; // Assuming your year is the AD year number

std::time_t time = std::mktime(&tm);

または、より C++ 風にするには、Boost.DateTime のGregorian date systemなどのサードパーティ ライブラリを使用します。

于 2013-07-17T11:38:38.503 に答える