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());