mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-08-23 23:46:42 +02:00
Bug
- Correct a DST error in date handling.
This commit is contained in:
parent
d52eebaa66
commit
065cb2ef01
2 changed files with 25 additions and 19 deletions
|
@ -633,7 +633,7 @@ void ISO8601d::resolve ()
|
|||
else if (! offset)
|
||||
{
|
||||
#ifdef HAVE_TM_GMTOFF
|
||||
offset = local_now->tm_gmtoff;
|
||||
offset = local_now->tm_gmtoff - (local_now->tm_isdst == 1 ? 3600 : 0);
|
||||
#else
|
||||
// TODO Umm...
|
||||
#endif
|
||||
|
|
|
@ -94,18 +94,21 @@ int main (int argc, char** argv)
|
|||
local_now->tm_hour = 0;
|
||||
local_now->tm_min = 0;
|
||||
local_now->tm_sec = 0;
|
||||
local_now->tm_isdst = -1;
|
||||
time_t local = mktime (local_now);
|
||||
std::cout << "# local midnight today " << local << "\n";
|
||||
|
||||
local_now->tm_year = 2013 - 1900;
|
||||
local_now->tm_mon = 12 - 1;
|
||||
local_now->tm_mday = 6;
|
||||
local_now->tm_isdst = 0;
|
||||
time_t local6 = mktime (local_now);
|
||||
std::cout << "# local midnight 2013-12-06 " << local6 << "\n";
|
||||
|
||||
local_now->tm_year = 2013 - 1900;
|
||||
local_now->tm_mon = 12 - 1;
|
||||
local_now->tm_mday = 1;
|
||||
local_now->tm_isdst = 0;
|
||||
time_t local1 = mktime (local_now);
|
||||
std::cout << "# local midnight 2013-12-01 " << local1 << "\n";
|
||||
|
||||
|
@ -116,18 +119,21 @@ int main (int argc, char** argv)
|
|||
utc_now->tm_hour = 0;
|
||||
utc_now->tm_min = 0;
|
||||
utc_now->tm_sec = 0;
|
||||
utc_now->tm_isdst = -1;
|
||||
time_t utc = timegm (utc_now);
|
||||
std::cout << "# utc midnight today " << utc << "\n";
|
||||
|
||||
utc_now->tm_year = 2013 - 1900;
|
||||
utc_now->tm_mon = 12 - 1;
|
||||
utc_now->tm_mday = 6;
|
||||
utc_now->tm_isdst = 0;
|
||||
time_t utc6 = timegm (utc_now);
|
||||
std::cout << "# utc midnight 2013-12-06 " << utc6 << "\n";
|
||||
|
||||
utc_now->tm_year = 2013 - 1900;
|
||||
utc_now->tm_mon = 12 - 1;
|
||||
utc_now->tm_mday = 1;
|
||||
utc_now->tm_isdst = 0;
|
||||
time_t utc1 = timegm (utc_now);
|
||||
std::cout << "# utc midnight 2013-12-01 " << utc1 << "\n";
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue