Commit Graph

32 Commits

Author SHA1 Message Date
aj
3e77287db6 there is a subtle bug in wall-time calculations. Asia/Irkutsk times are incorrect. 2010-11-12 01:22:50 -08:00
aj
7985f9e74f zone end projection was buggy, since it didn't normalize dates before passing them on (required for ezic_date:all_times/1) 2010-11-12 00:17:20 -08:00
aj
e042ad5ea9 updated some comments to be more accurate, more descriptive 2010-11-12 00:05:57 -08:00
aj
1340f64d8b semantic api change: flatten_zones -> flatten_all_zones. 2010-11-11 23:54:38 -08:00
aj
c976e63349 removed all warnings. fixed bug in ezic_zone:next/3. unit tests for ezic_zone:next/3
ezic_zone:next/3 was not filtering the Zones to only those after UTCFrom. This may have caused an endless loop, always returning the earliest zone regardless of the progress of time. I wont know; I caught it rather early.
2010-11-11 23:52:10 -08:00
aj
1520c631ef roughed-in the "nested" rule processing (flatten). hurdle on rule years->max. 2010-11-10 13:01:03 -08:00
aj
e48e793a36 flattening algorithm needs to be reworked.
also, datetime methods aren't consistent in their naming and return values.
2010-11-10 03:18:57 -08:00
aj
d84a0c1822 datetime manipulation is now much clearer. tests were added, and expectations stated explicitly in many places. rules got lots of attention. 2010-11-10 01:52:13 -08:00
aj
216a8d9ff8 brainstorming the flattening algorithm, slight API change 2010-11-09 23:32:25 -08:00
aj
d00937c3e9 lots of gutting. purposes, input, and output were unclear in many places. still broken. 2010-11-08 01:29:15 -08:00
aj
9ad8f3c826 lots of work towards flattening the records. stalled at ezic_rule:next_event/4 2010-11-07 18:32:37 -08:00
aj
c795abf2b6 misspelled "Olson". sorry 'bout that, Art. 2010-11-07 13:00:21 -08:00
aj
329f699e51 alerted to buginess in README. added notes & zic reference. removed local_to_utc conversion for now.
Time comparisons are patently wrong. They do not consider s/w/u/g/z time modifiers, so the comparisons can be off by hours. At least 24 hours within any time or zone change, ezic will give unreliable results.
I think a solution can involve "flattening" the data, starting from the earliest time possible for each zone/rule, going forward.
There exist ambiguous local times for zones and rules. For example, on Nov 7th, in Los Angeles, the times from 1:00:00am to 1:59:59am were repeated, once for PDT and once for PST. Given a local time in that zone between those times, we cannot determine what UTC time is unambiguously. Similar for Zone transitions where fall-back occurs.
2010-11-07 12:52:51 -08:00
aj
4d95017b7f made License terms more explicit 2010-11-07 00:56:23 -07:00
aj
65ff337301 added stub of next_timechange method. 2010-11-06 17:13:15 -07:00
aj
2e424038a2 README smithing. License update 2010-11-04 22:15:49 -07:00
aj
9178a6c148 README smithing 2010-11-04 22:02:13 -07:00
aj
d5cb707119 renamed the API methods, updated the README 2010-11-04 21:31:29 -07:00
aj
9ac6f0cc4a eliminated warnings. there were lots of unnecessary variables created in function parameters 2010-11-04 20:57:23 -07:00
aj
01ec22e351 fixed logic bug mapping the wrong ruleset, and removed unused vars
We took all that time to filter the ruleset, only to map across the entire ruleset instead of the filtered one. silly bug.
2010-11-04 20:43:38 -07:00
aj
298b245668 updated readme 2010-11-04 05:14:06 -07:00
aj
f4a48f09cf fixed bug with rule choice; dst was not being calculated correctly, Thanks Adelaide! 2010-11-04 04:28:23 -07:00
aj
7dd76519a0 happy path tested! current times correctly reported for LA, NY, Tokyo, and Jamaica!
Japan doesn't observer DST. I didn't know that.
2010-11-04 04:20:38 -07:00
aj
d48d32ddbb hit a speedbump. maximum and minimum are max & min absolutely!
Projecting flattened dates out to both infinities is prohibitively wacky. Do I pick arbitrary maximum and minimum dates? Should I forgo premature projection, in lieu of on-demand processing? a combination of both?
Those are my leading choices atm.
2010-11-04 01:30:46 -07:00
aj
2f727dd8bb consolidated logic, added date normalization and overlap methods. 2010-11-04 00:39:10 -07:00
aj
e9d247784e separated out rule and date logic. WIP: flattening the data, absolute from fuzzy dates, comparing dates 2010-11-03 23:33:06 -07:00
aj
188f31d543 parsing tzdata files appears to be functionally complete.
calling ezic:load("/path/to/tzdata_folder") returns a list of records without erroring-out.
The content may not be accurate; @todo create accuracy tests (idea: use system's zic/localtime/tzselect/etc.).
2010-11-03 15:06:51 -07:00
aj
3c965fe7b6 added debug build, fleshing out the tzdata parser. currently broken 2010-11-03 02:49:13 -07:00
aj
563f2c6e09 fleshed out API, and removed 'start method'. 2010-11-03 01:03:07 -07:00
aj
b967cd3ff7 fleshed out tzdata records, and internal format. also, licence=PUBLIC DOMAIN! 2010-11-03 00:49:30 -07:00
aj
59f18e4270 added naive Makefile, stubs of modules, unit test coordinator (test_master) 2010-11-03 00:30:59 -07:00
aj
992a7d8e1a the seed of an (likely bad) idea. 2010-11-03 00:22:58 -07:00