Commit Graph

28 Commits

Author SHA1 Message Date
aj heller
7d19d9e751 Merge pull request #11 from arkdro/master
add api to check whether the dst is active
2013-03-07 13:48:28 -08:00
arkdro
511c7815dc remove catch-all branch 2013-03-02 14:16:55 +04:00
Jorge Diz Pico
f216d3ddf8 Removes extra whitespace at EOL 2013-02-28 11:27:28 +01:00
arkdro
7bcd1596b0 add api to check whether the dst is active 2013-02-21 00:07:14 +04:00
aj heller
8e4dcb784b makes ezic:local_to_utc errors into values; updates tests accordingly
Like in d98eed, errors are now returned as values rather than crashing
processes. This is a short-term solution for consistency, and can be
refactored to a saner model later.
2012-12-17 22:07:56 -08:00
aj heller
8d4109aadf updates README; removes unused functions 2012-12-17 18:14:44 -08:00
aj heller
d98eed7b52 implements a fix for losing the ets dbs on a bad lookup
The `ezic_db` server would crash on a bad lookup (no_zone,
ambiguous_zone, etc.). The old error notification method for bad
lookups (crashing) was killing the server and apparently eliminating
the in-memory tables.
2012-12-17 16:06:06 -08:00
aj heller
52ad0119cb removes unused code and changes variable names for clarity 2012-12-17 15:22:59 -08:00
lsowen
4f3364a76d Much cleaner, but not working, because I have a circular loop 2012-12-04 21:36:44 -05:00
lsowen
e8385d7d86 move forward on the transition to ets over mnesia 2012-11-02 22:50:17 -04:00
aj
a90d6246ec moving from mnesia to ets. matchspecs are complicated when dates and atoms are involved. 2010-11-18 00:28:50 -08:00
aj
bd4e6078f2 ezic:local_to_utc/2 added, working.
in the case of ambiguous timezones, an "ambiguous_zone" error is thrown with the two valid zones.
if no zones existed for the given local time (i.e. DST eliminated the hour in question), a "no_zone" error is thrown.
otherwise, the date is returned
2010-11-14 00:46:00 -08:00
aj
22395e2f47 max_year base case bug fixed. ezic:localtime/1 works.
the final flatzone for every Zone should end at "current" for every *_to time. This is inaccurate, but accuracy is only guaranteed up to ?MAX_YEAR (=2500 by default).
that working, I fleshed out the few methods required to get ezic:utc_to_localtime/2 working, thus localtime/1 working. I've only tested localtime/1 at this point.
additionally, mnesia appears to have its data corrupted every time I stop and start a node. I've got to read up on working with mnesia; it's not behaving as I would expect.
2010-11-14 00:27:44 -08:00
aj
d664384c60 Costa Rica's flatzones aren't processed after 1992. Gotta check her out. 2010-11-13 22:54:44 -08:00
aj
3f438e66e0 handled case where zone and rule both end. dealing with Tripoli recursion bug (ambiguous year in ezic_date:for_rule) 2010-11-13 03:25:50 -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
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
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
65ff337301 added stub of next_timechange method. 2010-11-06 17:13:15 -07:00
aj
d5cb707119 renamed the API methods, updated the README 2010-11-04 21:31:29 -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
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
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
59f18e4270 added naive Makefile, stubs of modules, unit test coordinator (test_master) 2010-11-03 00:30:59 -07:00