RWTime отображает местное время +1

Почему RWTime дает еще 1 час

#include <rw/rwtime.h>
#include <rw/rwdate.h>
#include <rw/rstream.h>

main(){
 RWTime t;   // Current time
 RWTime d(RWTime::beginDST(1990, RWZone::local()));
   cout << "Current time:         " << RWDate(t) << " " << t <<
            endl;
   cout << "Start of DST, 1990:   " << RWDate(d) << " " << d <<
           endl;
}

Над печатью программы:

root@otp42mas:/home/nmsadm/sapna/cProgS# ./a.out
Current time: 10/27/10 10/27/10 17:08:06
Start of DST, 1990: 04/01/90 04/01/90 03:00:00

Но date дает:

root@otp42mas:/home/nmsadm/sapna/cProgS# date
Wed Oct 27 16:08:10 IST 2010

2 ответа

Мое шестое чувство покалывает, оно говорит мне, что ответ имеет отношение к летнему времени... Хотя я не уверен, почему...

По умолчанию RWZone::local() вернет реализацию RWZone, основанную на переходах DST в Северной Америке. RWZone::os() обеспечивает переходы DST на основе реализации RWZone, полученные из текущего системного часового пояса. RWZone::local() можно обновить, чтобы использовать RWZone::os() с помощью:

RWZone::local(&RWZone::os());
Другие вопросы по тегам