I'm dealing with this these days too, and FWIW, I'm storing dates as `[date.toISOString(), date.getTimezoneOffset()]` so I can `new Date(stored[0])` and if/when needed `date.setMinutes(stored[1])`.
I know it's a work around, but it easily serves well all use cases I had. Regards On Thu, Sep 27, 2018 at 1:54 AM J Decker <[email protected]> wrote: > That's a little like using a sledge hammer to cut cake. > > Adding Dates as a type of data in JSOX, the additional rule to handle > dates in the parser is pretty simple. > https://raw.githubusercontent.com/d3x0r/JSOX/master/NumberRule.GIF > > I'm also not sure it's really needed to know if it was ' MST or PDT ' at > that time. With whatever the current offset was at that time, that's the > time it was for them (or the time they claim is for them), and the time it > was relative to everyone else. > > On Mon, Sep 24, 2018 at 6:10 PM Jordan Harband <[email protected]> wrote: > >> Are you familiar with the Temporal proposal? >> https://github.com/tc39/proposal-temporal >> >> On Mon, Sep 24, 2018 at 8:32 PM, J Decker <[email protected]> wrote: >> >>> I did look back to see other conversations about Dates.... >>> >>> Operating with arbitrary timezones >>> https://mail.mozilla.org/pipermail/es-discuss/2016-August/046478.html >>> >>> Add timezone data to Date >>> https://mail.mozilla.org/pipermail/es-discuss/2017-June/048259.html >>> >>> Even until this moment, Edge/IE cannot parse new Date( >>> "2018-09-25T00:17:55.385-07:00"). which makes 50% of the world already >>> require a date/time library. >>> https://github.com/Microsoft/ChakraCore/issues/5502 >>> (actually Aug 16 that was closed) >>> >>> Date.toISOString() only emits 'Z', even though the type itself has the >>> offset >>> >>> as a Date.prototype.toISOLocalString() >>> cb : function () { >>> var tzo = -this.getTimezoneOffset(), >>> dif = tzo >= 0 ? '+' : '-', >>> pad = function(num) { >>> var norm = Math.floor(Math.abs(num)); >>> return (norm < 10 ? '0' : '') + norm; >>> }; >>> return this.getFullYear() + >>> '-' + pad(this.getMonth() + 1) + >>> '-' + pad(this.getDate()) + >>> 'T' + pad(this.getHours()) + >>> ':' + pad(this.getMinutes()) + >>> ':' + pad(this.getSeconds()) + >>> dif + pad(tzo / 60) + >>> ':' + pad(tzo % 60); >>> } >>> ---------- >>> But; that's only semi-accurate, because if I say -07:00 as the offset, I >>> don't know if it's MST or PDT (which is knowable I suppose). >>> >>> There's not a LOT of usage of times in code; but it could be that the >>> constant number 2018-09-25T00:26:00.741Z could just BE a Date, similar to >>> 123n just being a BigInt. >>> >>> It would also be handy if there were a builtin ISO w/ Timezone emitter. >>> >>> >>> >>> _______________________________________________ >>> es-discuss mailing list >>> [email protected] >>> https://mail.mozilla.org/listinfo/es-discuss >>> >>> >> _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

