Re: [whatwg] Date Update?

2014-05-19 Thread Garrett Smith
On 1/19/14, Norbert Lindenberg ecmascr...@lindenbergsoftware.com wrote:

 On Jan 19, 2014, at 10:01 , Jasper St. Pierre jstpie...@mecheye.net
 wrote:

 On Sunday, January 19, 2014, Garrett Smith dhtmlkitc...@gmail.com
 wrote:


  What considerations are there for codifying the behavior for
  Date.parse? Middle endian date format parsing works:
  Date.parse(2/11/2013); Should this be standardized here:
  http://javascript.spec.whatwg.org/#date
 
  Any proposals for Date.prototype.format, ala strftime?

 The ECMAScript Internationalization API provides date and time formatting,
 with an API that's more abstract and better suited to localization than
 strftime:
 http://www.ecma-international.org/ecma-402/1.0/#sec-12
 http://norbertlindenberg.com/2012/12/ecmascript-internationalization-api/index.html#DateTimeFormat
 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat

 Parsing date and time input was considered for the second edition of that
 standard, but our impression was that most applications prefer date-and-time
 pickers, so we dropped parsing.

I was talking about formatting, not parsing. But now you're talking
about formatting, and can't help but strongly disagree with what
you've written.

Case:

Server sends back JSON that is used to build a calendar component or
Gantt chart

The application parses the start and end of the times given over the
JSON (and I have some JSON in the application that I am developing
right now; see below).

After the JSON is parsed, UI components, what I've dubbed timeline
events get created and added to the requisite year (created and
added, filling in any elided years as necessary). (The year calendar
element happens to be a UL with LI for each month).

After the correct year element(s) are created, the timelineEvent can
be added. Each timeline event has a startDate, an endDate, and a
duration. The startDate is used to create and then to append the
timelineEvent element to month of the year in which it appears, where
its position is adjusted so that its position and placement appears
exactly according to the dates and times specified. For example, if
the event starts on 2014-01-01 and ends on 2014-03-01, then the
element is positioned 10/31 of the way into january and at the
beginning of March.

  Any replacement proposals, like a Joda-Time, or others, that treat a
  Date as a set of fields rather than an object represented by a number?
  And maybe with add/subtract methods without having to resort to each
  field? Zero-based month and one-based days are weird, but even weirder
  with MakeDay adding the extra month onto the year field:
 
  var d = new Date(Date.now())
  d.setMonth(12); // Next January, not December.

 Date is a wrapper for a UNIX timestamp. It's not designed to be an
 accurate calendaring API. I feel like a calendering API should be related
 to Date and integrate with it, but a separate API altogether.

 Computer representations of date and time are complicated enough, and
 should we want a standard calendering API, it should be done by not
 wrapping a UNIX timestamp.

 Joda-Time doesn't treat Date as a set of fields; it uses a complete separate
 DateTime class. Treating Date as a set of fields, as the current Date API
 attempts, is inadequate because it doesn't allow for different calendars
 (Gregorian, Buddhist, Islamic, etc) and time zones. The getters and setters
 for fields in java.util.Date, for comparison, have all been deprecated.

LocalDate object sounds really useful.

How would that best be done? What is a good way determine a physical
location and map that to a timezone, and have the timezone be
associated with that date?

http://lists.w3.org/Archives/Public/public-script-coord/2014AprJun/0051.html

 That said, there hasn't been much interest in adding anything of the size of
 Joda-Time into ECMAScript. I proposed a while ago to make public the one-way
 mapping from Date values to date and time fields that's already specified in
 the Internationalization API spec, but even that hasn't gotten much traction
 yet:
 https://bugs.ecmascript.org/show_bug.cgi?id=698

Sure, but the ECMAScript 5 got ISO-8601 wrong by stating:

| The value of an absent time zone offset is Z
http://ecma-international.org/ecma-262/5.1/#sec-15.9.1.15

ECMAScript draft 6 corrects this mistake:

| If the time zone offset is absent, the date-time is interpreted as a
local time.
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-date-time-string-format
-- 
Garrett
@xkit
ChordCycles.com
garretts.github.io


Re: [whatwg] Date Update?

2014-05-19 Thread Garrett Smith
On 5/19/14, Garrett Smith dhtmlkitc...@gmail.com wrote:
 On 1/19/14, Norbert Lindenberg ecmascr...@lindenbergsoftware.com wrote:

 On Jan 19, 2014, at 10:01 , Jasper St. Pierre jstpie...@mecheye.net
 wrote:

 On Sunday, January 19, 2014, Garrett Smith dhtmlkitc...@gmail.com
 wrote:


  What considerations are there for codifying the behavior for
  Date.parse? Middle endian date format parsing works:
  Date.parse(2/11/2013); Should this be standardized here:
  http://javascript.spec.whatwg.org/#date
 
  Any proposals for Date.prototype.format, ala strftime?

 The ECMAScript Internationalization API provides date and time
 formatting,
 with an API that's more abstract and better suited to localization than
 strftime:
 http://www.ecma-international.org/ecma-402/1.0/#sec-12
 http://norbertlindenberg.com/2012/12/ecmascript-internationalization-api/index.html#DateTimeFormat
 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat

 Parsing date and time input was considered for the second edition of that
 standard, but our impression was that most applications prefer
 date-and-time
 pickers, so we dropped parsing.

 I was talking about formatting, not parsing. But now you're talking
 about formatting,
(I meant to say that you're talking about parsing).
-- 
Garrett
@xkit
ChordCycles.com
garretts.github.io


Re: [whatwg] Date Update?

2014-01-19 Thread Rick Waldron
Garrett,

I'm cc'ing es-discuss, as that's a more appropriate list for discussing
updates and extensions to the language's built-in objects.

Rick

On Sunday, January 19, 2014, Garrett Smith dhtmlkitc...@gmail.com wrote:

 Hi All -

 Just some random ideas on JavaScript Date. I understand that it was
 copied from Java. Was this based on the requirement to “look like
 Java” on the typical appeal to popularity marketing tact? (Java was
 hot back then).

 What considerations are there for codifying the behavior for
 Date.parse? Middle endian date format parsing works:
 Date.parse(2/11/2013); Should this be standardized here:
 http://javascript.spec.whatwg.org/#date

 Any proposals for Date.prototype.format, ala strftime?

 Any replacement proposals, like a Joda-Time, or others, that treat a
 Date as a set of fields rather than an object represented by a number?
 And maybe with add/subtract methods without having to resort to each
 field? Zero-based month and one-based days are weird, but even weirder
 with MakeDay adding the extra month onto the year field:

 var d = new Date(Date.now())
 d.setMonth(12); // Next January, not December.

 Any proposal to get the user's preferred date format?
 --
 Garrett
 @xkit
 ChordCycles.com
 garretts.github.io