std:: mktime
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
헤더 파일에 정의됨
<ctime>
|
||
|
std::
time_t
mktime
(
std::
tm
*
time
)
;
|
||
지역 캘린더 시간을 에포크 이후 시간으로 변환하여 std::time_t 객체로 반환합니다. time - > tm_wday 와 time - > tm_yday 는 무시됩니다. time 내의 값들은 정상 범위를 벗어나도 허용됩니다.
time
-
>
tm_isdst
의 음수 값은
mktime
이 일광 절약 시간제가 적용되었는지 여부를 판단하려고 시도하도록 합니다.
변환이 성공하면, time 객체가 수정됩니다. time 의 모든 필드는 적절한 범위에 맞도록 업데이트됩니다. time - > tm_wday 와 time - > tm_yday 는 다른 필드에서 사용 가능한 정보를 사용하여 재계산됩니다.
목차 |
매개변수
| time | - | 변환할 지역 달력 시간을 지정하는 std::tm 객체에 대한 포인터 |
반환값
에포크 이후의 시간을 std::time_t 객체로 반환합니다. 성공 시 해당 시간을, - 1 를 반환합니다 - 만약 time 이 std::time_t 객체로 표현될 수 없는 경우.
참고 사항
만약
std::tm
객체가
std::get_time
또는 POSIX
strptime
함수로부터 얻어진 경우,
tm_isdst
값은 불확정적(indeterminate)이며,
mktime
함수를 호출하기 전에 명시적으로 설정되어야 합니다.
예제
로컬 시간을 명시적으로 구성합니다.
#include <ctime> #include <iomanip> #include <iostream> #include <sstream> int main() { setenv("TZ", "/usr/share/zoneinfo/America/Los_Angeles", 1); // POSIX-specific std::tm tm{}; // Zero initialise tm.tm_year = 2020 - 1900; // 2020 tm.tm_mon = 2 - 1; // February tm.tm_mday = 15; // 15th tm.tm_hour = 10; tm.tm_min = 15; tm.tm_isdst = 0; // Not daylight saving std::time_t t = std::mktime(&tm); std::tm local = *std::localtime(&t); std::cout << "local: " << std::put_time(&local, "%c %Z") << '\n'; }
가능한 출력:
local: Sat Feb 15 10:15:00 2020 PST
참고 항목
|
epoch 이후 시간을 현지 시간으로 표현된 달력 시간으로 변환
(function) |
|
|
C documentation
for
mktime
|
|