указываете ей Пожалуйста, смотрите код ниже:Отметка проблема с МестноеВремя и
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main(void)
{
time_t current_time = 1270715952;
cout << "Subscriber current timestamp:" << current_time << endl;
tm* currentTm = localtime(¤t_time);
char tmp_str[256];
//2010-04-08T11:39:12
snprintf(tmp_str,
sizeof(tmp_str),
"%04d%02d%02d%02d%02d%02d.000",
currentTm->tm_year+1900,
currentTm->tm_mon+1,
currentTm->tm_mday,
currentTm->tm_hour,
currentTm->tm_min,
currentTm->tm_sec);
cout << "Subscriber current date:" << tmp_str << endl;
tm tmpDateScheduleFrom, tmpDateScheduleTo;
memset(&tmpDateScheduleFrom, 0, sizeof(tm));
memset(&tmpDateScheduleTo, 0, sizeof(tm));
//2010-04-08T11:00
tmpDateScheduleFrom.tm_sec = 0;
tmpDateScheduleFrom.tm_min = 0;
tmpDateScheduleFrom.tm_hour = 11;
tmpDateScheduleFrom.tm_mday = 8;
tmpDateScheduleFrom.tm_mon = 3;
tmpDateScheduleFrom.tm_year = 110;
//2010-04-08T12:00
tmpDateScheduleTo.tm_sec = 0;
tmpDateScheduleTo.tm_min = 0;
tmpDateScheduleTo.tm_hour = 12;
tmpDateScheduleTo.tm_mday = 8;
tmpDateScheduleTo.tm_mon = 3;
tmpDateScheduleTo.tm_year = 110;
time_t localFrom = mktime(&tmpDateScheduleFrom);
time_t localTo = mktime(&tmpDateScheduleTo);
cout << "Subscriber current timestamp:" << current_time << endl;
cout << "Subscriber localFrom:" << localFrom << endl;
cout << "Subscriber localTo:" << localTo << endl;
return 0;
}
Результаты следующие:
Subscriber current timestamp:1270715952
Subscriber current date:20100408113912.000
Subscriber current timestamp:1270715952
Subscriber localFrom:1270717200
Subscriber localTo:1270720800
Почему текущий подписчик метка времени (дата и время абонент: 2010-04- 08T11: 39: 12) не находится между диапазоном localFrom (временная метка даты/времени: 2010-04-08T11: 00: 00) и LocalTo (временная метка даты/времени: 2010-04-08T12: 00: 00)?
Если вы установили 'tm_isdst' в 1, это будет нормально, пока DST не изменится снова, а затем перейдет в противоположном направлении. Как вы указали, используйте -1, чтобы система автоматически вычислила соответствующее значение для isdst. –