mirror of
https://github.com/espruino/Espruino.git
synced 2025-12-08 19:06:15 +00:00
75 lines
4.0 KiB
JavaScript
75 lines
4.0 KiB
JavaScript
pass=0;
|
|
|
|
try { new Date(4.1e16); pass--; } catch(e) { };
|
|
try { new Date(-4.1e16); pass--; } catch(e) { };
|
|
try { new Date(2000000,0); pass--; } catch(e) { };
|
|
try { new Date(-2000000,0); pass--; } catch(e) { };
|
|
// This next Date() constructor use to give a segfault. However it is now out of range for the PICO_R1_3
|
|
try { a = new Date(-12,8).toString(); if (!(a== "Wed Aug 31 -12 00:00:00 GMT+0000")) pass--; } catch (e) { };
|
|
|
|
var gmt = [
|
|
[ Date.parse("2011-10-20") , 1319068800000.0 ],
|
|
[ Date.parse("2011-10-20T14:48:12.345") , 1319122092345.0 ],
|
|
[ Date.parse("Aug 9, 1995") , 807926400000.0 ],
|
|
[ new Date("Wed, 09 Aug 1995 00:00:00").getTime() , 807926400000.0 ],
|
|
[ Date.parse("Thu, 01 Jan 1970 00:00:00 GMT") , 0.0 ],
|
|
[ Date.parse("Thu, 01 Jan 1970 00:00:00 GMT-0100") , 3600000.0 ],
|
|
[ Date.parse("Mon, 25 Dec 1995 13:30:00 +0430"), 819882000000.0 ],
|
|
[ new Date(807926400000.0).toString() , "Wed Aug 9 1995 00:00:00 GMT+0000" ],
|
|
[ new Date("Fri, 20 Jun 2014 15:27:22 GMT").toString(), "Fri Jun 20 2014 15:27:22 GMT+0000"],
|
|
[ new Date("Fri, 20 Jun 2014 15:27:22 GMT").toISOString(), "2014-06-20T15:27:22.000Z"],
|
|
[ new Date("Fri, 20 Jun 2014 17:27:22 GMT+0200").toISOString(), "2014-06-20T15:27:22.000Z"],
|
|
[ new Date("5000-1-1").toString(), "Wed Jan 1 5000 00:00:00 GMT+0000"],
|
|
[ new Date(1500,0,1).toString(), "Mon Jan 1 1500 00:00:00 GMT+0000"],
|
|
[ new Date(1500,0,1).getTime(), -14831769600000]
|
|
];
|
|
|
|
gmt.forEach(function(n) { if (n[0]==n[1]) pass++; });
|
|
|
|
E.setTimeZone(2);
|
|
var cest = [
|
|
[ Date.parse("2011-10-20") , 1319061600000.0 ],
|
|
[ Date.parse("2011-10-20T14:48:12.345") , 1319114892345.0 ],
|
|
[ Date.parse("Aug 9, 1995") , 807919200000.0 ],
|
|
[ new Date("Wed, 09 Aug 1995 00:00:00").getTime() , 807919200000.0 ],
|
|
[ Date.parse("Thu, 01 Jan 1970 00:00:00 GMT") , 0.0 ],
|
|
[ Date.parse("Thu, 01 Jan 1970 00:00:00 GMT-0100") , 3600000.0 ],
|
|
[ Date.parse("Mon, 25 Dec 1995 13:30:00 +0430"), 819882000000.0 ],
|
|
[ new Date(807926400000.0).toString() , "Wed Aug 9 1995 02:00:00 GMT+0200" ],
|
|
[ new Date("Fri, 20 Jun 2014 15:27:22 GMT").toString(), "Fri Jun 20 2014 17:27:22 GMT+0200"],
|
|
[ new Date("Fri, 20 Jun 2014 15:27:22 GMT").toISOString(), "2014-06-20T15:27:22.000Z"],
|
|
[ new Date("Fri, 20 Jun 2014 17:27:22 GMT+0200").toISOString(), "2014-06-20T15:27:22.000Z"]
|
|
];
|
|
|
|
cest.forEach(function(n) { if (n[0]==n[1]) pass++; });
|
|
|
|
// Northern hemisphere, +2h winter and +3h summer. Change last Sun Mar @ 3am and last Sun Oct @ 4am.
|
|
E.setDST(60,120,4,0,2,0,180,4,0,9,0,240);
|
|
var dst = [
|
|
[ new Date("2011-02-10T14:12:00").toLocalISOString() , "2011-02-10T14:12:00.000+0200" ],
|
|
[ new Date("2011-06-11T11:12:00").toLocalISOString() , "2011-06-11T11:12:00.000+0300" ],
|
|
[ new Date("2011-11-04T09:25:00").toLocalISOString() , "2011-11-04T09:25:00.000+0200" ],
|
|
[ new Date("2011-03-27T00:59:59.9Z").toLocalISOString() , "2011-03-27T02:59:59.900+0200" ],
|
|
[ new Date("2011-03-27T01:00:00.0Z").toLocalISOString() , "2011-03-27T04:00:00.000+0300" ],
|
|
[ new Date("2011-10-30T00:59:59.9Z").toLocalISOString() , "2011-10-30T03:59:59.900+0300" ],
|
|
[ new Date("2011-10-30T01:00:00.0Z").toLocalISOString() , "2011-10-30T03:00:00.000+0200" ]
|
|
];
|
|
|
|
dst.forEach(function(n) { if (n[0]==n[1]) pass++; });
|
|
|
|
// Southern hemisphere. -3h winter and -2h summer. Change 2nd Sun Mar @2am and 2nd Sun Oct @ 2am.
|
|
E.setDST(60,-180,1,0,9,0,120,1,0,2,0,120);
|
|
var dstSouth = [
|
|
[ new Date("2011-02-10T14:12:00").toLocalISOString() , "2011-02-10T14:12:00.000-0200" ],
|
|
[ new Date("2011-06-11T11:12:00").toLocalISOString() , "2011-06-11T11:12:00.000-0300" ],
|
|
[ new Date("2011-11-04T09:25:00").toLocalISOString() , "2011-11-04T09:25:00.000-0200" ],
|
|
[ new Date("2011-03-13T03:59:59.9Z").toLocalISOString() , "2011-03-13T01:59:59.900-0200" ],
|
|
[ new Date("2011-03-13T04:00:00.0Z").toLocalISOString() , "2011-03-13T01:00:00.000-0300" ],
|
|
[ new Date("2011-10-09T04:59:59.9Z").toLocalISOString() , "2011-10-09T01:59:59.900-0300" ],
|
|
[ new Date("2011-10-09T05:00:00.0Z").toLocalISOString() , "2011-10-09T03:00:00.000-0200" ]
|
|
];
|
|
|
|
dstSouth.forEach(function(n) { if (n[0]==n[1]) pass++; });
|
|
|
|
result = pass == gmt.length + cest.length + dst.length + dstSouth.length;
|