쉽게 액세스 할 수있는 TimeDate 변수를 만들려고하지만 변환에 문제가 있습니다. time.h에서, 어떻게 현재 로컬 시간대로 time_t (1970 년 1 월 1 일 이후 초), 변환 것, (일광 절약 시간 (해당되는 경우)에 대한 보상)하도록 :time_t 변환 형식 질문
time_t Seconds;
가된다 :
struct TimeDate
{
short YYYY;
unsigned char MM;
unsigned char DD;
unsigned char HH; //Non-DST, non-timezone, IE UTC (user has to add DST and TZO to get what they need)
unsigned char MM;
unsigned char S;
char TZ[4]; //This can be optionally a larger array, null terminated preferably
char TZO; //Timezone Offset from UTC
char DST; //Positive is DST (and amount of DST to apply), 0 is none, negative is unknown/error
};
프로세스에서 문자열 리터럴 (시간대 이름의 막대)을 사용하지 않고 (효율적으로 유지하려면)? 이것은 윤년을 고려한 것입니다. TimeDate가 time_t로 다시 변환 될 수있는 경우 보너스.
안녕하세요. 현지 시간을 살펴보면, 1960 년 1 월 1 일 이후로 일/시간/분입니다. 이 문제는 내가 1951 년 1 월 1 일 이후로 얼마나 많은 시간이 경과했는지를 원하지 않는다는 것입니다. 현재 시간을 (DST/Timezone으로 UTC 형식으로 구분하여) 원하는 것입니다. 또한 사용 된 시간대 또는 시간대가 상쇄되는 시간도 제공하지 않습니다. – SSight3
@ SSight3 : 그 설명을 다시 읽고 싶습니다. – Nemo
안녕하세요, nemo, 그는 내 설명부터 설명을 수정했지만 여전히 TimeDate 구조로 time_t로 변환하는 방법은 내 질문을 해결하지 못합니다. IE TimeDate로 변환하는 방법은 악명 높게 누락되었습니다. (의역 : 어떻게 변환합니까 TimeDate로 tm). 또한 시간대/윤년 문제에 유의하십시오. – SSight3