Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:103277 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 48324 invoked from network); 29 Sep 2018 04:18:39 -0000 Received: from unknown (HELO mail-oi1-f180.google.com) (209.85.167.180) by pb1.pair.com with SMTP; 29 Sep 2018 04:18:39 -0000 Received: by mail-oi1-f180.google.com with SMTP id a203-v6so6931482oib.0 for ; Fri, 28 Sep 2018 17:27:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-transfer-encoding; bh=ymPFiAslveEvUQtFAgVqrIayHm79cfIiklcqgLvgiYo=; b=orPQN219EyBkdTS9K53GLu99xdK6sH+vQw77UXqVbmNT6UABdJxURjRE8SkYnC33tg 7xiPYG/IJHDf2OQ+puh+MNqSw5jbBYXxBwSfKEUKfNxMEmaa5V7OocIhH6kK9mu0sdxq cEu4KDfb69nFMl2sl0ooXFcg20S3svgMT8mH94f4JAMy9HrnQPc1WjePs8+YBeOuSoOZ WDRzKxMZyWWGh+6Ep49VPjHYgH3wnSSRCTn2KaOx43tBD+PZGGlKuNZeIcnaQNSE0rr9 qdEIMjHSZHiXLj7N2ctpYrr36351NyX61YaYzWY4XOAxX3opvykENmfHUiN7FLXDYQLB vfpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-transfer-encoding; bh=ymPFiAslveEvUQtFAgVqrIayHm79cfIiklcqgLvgiYo=; b=Itjk9iYv8vHlFiBSyWVK2+25rD233/iz+JQSvP9PyBfyFFSmQLMF2BqJIqv4wF8Pt1 8Laj45l6jZ4ZqQpGeSXXvrr9UfoCPLHlI3h1A0yfzupYcG5Ytp2R/fMtLAg1b/ark3+1 0kT2mWhrmLm5HiKN9BaWB34htt0g6GwIKJl07Zii+zPfdQ8kRxkMg7vGj4XSywkPqbmG 5OuKdC4nwoqx82yykcEsq/SMMOYwenuoxcYUMWMljfs1bpt07Hjn0dnbwp0cwCeQgshN sotDm68FF+ZeIhSDnN/uI40xkQf+jNY1nFUYhZm0GWaqqxzd+H+RO6vDhvUKBYHIXSNn FUNQ== X-Gm-Message-State: ABuFfoj15tLuL1nIen+ienjWrYVvWyqPkR/8r9tJV4+/t9H9vDyq+diE KDmdsbvhp6AHJwvrj7Rc5AxmNGQNBFORWL/UoL2WsUN/ X-Google-Smtp-Source: ACcGV63xFNNOOZgHH3QlwkTTecGbKaiCnbuR5yL8LUXlPTpmfbGiWplWK8vR0BAwsMT/ouIeKBgPE/+XijU6KPogotw= X-Received: by 2002:aca:f5d3:: with SMTP id t202-v6mr502375oih.29.1538180843458; Fri, 28 Sep 2018 17:27:23 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a4a:44c3:0:0:0:0:0 with HTTP; Fri, 28 Sep 2018 17:27:23 -0700 (PDT) In-Reply-To: References: Date: Fri, 28 Sep 2018 19:27:23 -0500 Message-ID: To: internals@lists.php.net Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: Proposal: Add tabular Islamic calendar to calendar conversion functions From: weberk294@gmail.com (Kurt Weber) Gah, I had my filter for this mailing list misconfigured and so I just now saw this. So so so sorry. I'll definitely do a RFC. Regarding issue (c), I'm obviously not familiar with internal PHP development processes, but is it usually the case that "You have X similar thing" is an argument for doing Y? Seems like there's no reason these decisions couldn't be made on an ad hoc basis--tabular calender is one thing because it's entirely self-contained, while other calendars would require access to an external data source that may disappear at any time, etc. On Sat, Sep 1, 2018 at 5:09 AM, Christoph M. Becker wro= te: > On 30.08.2018 at 22:33, Kurt Weber wrote: > >> The calendar conversion functions currently support (via Julian Day >> Numbers as an intermediary) conversion between Gregorian, Julian, >> Hebrew, and French Revolutionary calendars. Conspicuously absent is >> the Islamic calendar. A comment in ext/calendar/sdncal.h seems to >> suggest that the original author(s) intended to implement at some >> point, but never got around to it. >> >> The Islamic calendar offers some complications because in most >> places and communities that use it for religious purposes, the switch >> from one month to the next is based on actually observing the moon in >> the proper phase. In theory the date of this change can be >> calculated (and indeed the early Islamic surge in study of astronomy >> was motivated by the wish to know about when they should start >> looking), but tradition still demands that it be actually observed >> before a change is made--the actual impact of this is that local sky >> or weather conditions can sometimes interfere with the observation in >> a particular jurisdiction, meaning that often it comes a day or so >> later than when it otherwise would. >> >> Consequently, what I'm proposing is the Tabular Islamic Calendar, >> which was specifically created to be predictable and calculable. It >> is of limited use for religious purposes (and documentation should >> probably be clear about this), but it would be useful for, e.g. >> people working with historical documents from Islamic communities or >> groups (In fact, this is how I came to this problem--I am working on >> a Ph.D. in Russian history, and as a side project I'm developing a >> PHP-backed website to manage research notes and other information; >> because I work on prerevolutionary Russia I'm very familiar with the >> issue of needing to convert between calendar systems (in my case, >> Julian and Gregorian), and my colleagues working on Islamic history >> often have similar issues.). >> >> Tabular Islamic calendar is not ideal, but it seems like the only >> realistic option for automated conversion. >> >> As far as implementation goes, I could do it. I've already >> implemented conversion one way, before I stopped work in case there >> were issues that come up in this discussion that I hadn't foreseen >> (unfortunately, that happened roughly at the time the mailing list >> server seems to have died, so it's been paused for a couple of >> weeks). So all I'd have to do is the other direction, and it'd be >> ready to test. > > Thanks! I'm not opposed to this suggestion. There is the suspended > feature request #27453[1], and I agree that even a tabular Islamic > calendar would be much more useful than the French Revolunationary calend= ar. > > Presently, I see three counter-arguments: > > (a) already supported by ext/intl > (b) maintenance burden > (c) opening up a can of worms > > Ad (a): Islamic calendars are already supported by the > intl extension[2]. Even though ext/intl supports an Islamic calendar, > that doesn't prohibit that ext/calendar also does, though, since they > are independent extensions (cf. ext/mbstring, ext/iconv, ext/recode). > > Ad (b): if nobody else is willing to step up as maintainer of > ext/calendar[3], I'd be willing to do so. I've already did some > maintenance[4] so far. > > Ad (c): this is somewhat of a problem. I can easily imagine folks > requesting support for specific Islamic calendars which would require > (up-to-date) data, what could easily blow ext/calendar out of > proportion. Also I can imagine people coming up with =E2=80=9Cthe FOO ca= lendar > is used more widely than the tabular Islamic calendar, so it should be > supported as well=E2=80=9D argument. > > Especially due to (c) I suggest to go through the RFC process[5], > whereby the RFC could also set some precendence/rules for potentially > further calendar systems (i.e. what ext/calendar may support, and what no= t). > > [1] > [2] > > [3] > > [4] > > [5] > > -- > Christoph M. Becker