<font face="times new roman,serif">+Peter, since he has an interest in these issues.<br clear="all"></font><font face="'times new roman', serif"><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px">
<div></div></div><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px"><br></div><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px">
<a href="https://plus.google.com/114199149796022210033" target="_blank">Mark</a></div><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px"><i><br></i></div><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px">
<i>— Il meglio è l’inimico del bene —</i></div></font><div><div><font face="'times new roman', serif"><i><span style="font-style:normal"><i></i></span><i></i></i></font></div></div><br>
<br><br><div class="gmail_quote">On Wed, Sep 12, 2012 at 9:37 PM, Mark Davis ☕ <span dir="ltr"><<a href="mailto:mark@macchiato.com" target="_blank">mark@macchiato.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<font face="times new roman,serif"><br clear="all"></font><font face="'times new roman', serif"><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px"><div></div>

</div><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px"><br></div><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px">

<a href="https://plus.google.com/114199149796022210033" target="_blank">Mark</a></div><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px"><i><br></i></div><div style="background-color:transparent;margin-top:0px;margin-left:0px;margin-bottom:0px;margin-right:0px">

<i>— Il meglio è l’inimico del bene —</i></div></font><div><div><font face="'times new roman', serif"><i><span style="font-style:normal"><i></i></span><i></i></i></font></div></div><br>
<br><br><div class="gmail_quote"><div class="im">On Wed, Sep 12, 2012 at 8:43 PM, Norbert Lindenberg <span dir="ltr"><<a href="mailto:ecmascript@norbertlindenberg.com" target="_blank">ecmascript@norbertlindenberg.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">ES5 section 15.9.1 specifies a number of operations to map time values (measured in milliseconds from January 1, 1970, midnight UTC) to year/month/day/hour/minute/second values, and the ECMAScript Internationalization API specification section 12.3.2 mandates use of these algorithms also for formatting localized date and time strings if the Gregorian calendar is used.<br>


<br>
A well-placed test within the SpiderMonkey test suite reminded me of two issues related to that:<br>
<br>
- The algorithms use a proleptic Gregorian calendar, that is, apply the rules of the Gregorian calendar all the way back to the beginning of ECMAScript time. Normal usage, however, is to use the Julian calendar for dates before the introduction of the Gregorian calendar in 1582 (and in some countries for quite some time after that).<br>

</blockquote><div><br></div><div><br></div></div><div>The problem is that the date when countries shifted to using Gregorian as the primary calendar varies wildly. And it wasn't just from the Julian calendar; in non-Christian countries, it was from many others (often still in use as a secondary calendar). And historically, there were transitions between those calendars. And not everyone in the same country followed the same calendar, or switched at the same time. And even on the Julian calendar, before 525 AD there wasn't the practice of using AD; you'd have to have the year set to the year of the emperor (and let's not talk about the transitions there...)</div>

<div><br></div><div>Anyway, it typically isn't worth the trouble. It is quite customary to use a proleptic calendar; many if not most standards do it.</div><div class="im"><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
- The year calculation assumes that there was a year 0, while in normal usage the year before 1 AD is 1 BC.<br></blockquote><div><br></div></div><div>If the implementation supports eras, then you would have 2 AD, 1 AD, 1 BC, 2 BC...</div>

<div><br></div><div>If it uses negative proleptic years, then you'd have 2 AD, 1 AD, 0 AD, -1 AD, -2 AD, ...</div><div><br></div><div>I don't know that we want to have such a difference be a gating item....</div>
<div class="im"><div>
<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
With regards to the first issue, the November 2011 draft of the spec had limited applicability of the 15.9.1 algorithms to the internationalization API to dates after 1930, but then somebody (I forgot who) convinced me to remove that limitation. I don't think the second issue has ever been discussed, and introducing a year 0 where there was none just seems wrong to me.<br>


<br>
Current implementations of Date.prototype.toLocaleString are split: Firefox, Chrome, and Opera format a date in 1 BC as being in the year 0, while Safari formats it as being in the year 1 (means BC but doesn't say so) and Explorer formats it as being in the year 1 BC. Safari calculates the day according to the Julian calendar, all others use the proleptic Gregorian calendar.<br>


<br>
Thoughts?<br>
<br>
Depending on what we decide, the beginning of ECMAScript time could be anywhere between 271816 BC and 271822 BC...<br>
<br>
Regards,<br>
Norbert<br>
<br>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</blockquote></div></div><br>
</blockquote></div><br>