Skip to content

Commit d62f3d4

Browse files
committed
Merge remote-tracking branch 'origin/fix-timezone-parse' into 3.4.12
2 parents 2d83168 + 08353a4 commit d62f3d4

4 files changed

Lines changed: 7 additions & 5 deletions

File tree

d3.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2439,7 +2439,7 @@
24392439
date.setFullYear(d.y, 0, 1);
24402440
date.setFullYear(d.y, 0, "W" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7);
24412441
} else date.setFullYear(d.y, d.m, d.d);
2442-
date.setHours(d.H + Math.floor(d.Z / 100), d.M + d.Z % 100, d.S, d.L);
2442+
date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L);
24432443
return localZ ? date._ : date;
24442444
};
24452445
format.toString = function() {
@@ -2703,7 +2703,7 @@
27032703
return n ? (date.L = +n[0], i + n[0].length) : -1;
27042704
}
27052705
function d3_time_zone(d) {
2706-
var z = d.getTimezoneOffset(), zs = z > 0 ? "-" : "+", zh = ~~(abs(z) / 60), zm = abs(z) % 60;
2706+
var z = d.getTimezoneOffset(), zs = z > 0 ? "-" : "+", zh = abs(z) / 60 | 0, zm = abs(z) % 60;
27072707
return zs + d3_time_formatPad(zh, "0", 2) + d3_time_formatPad(zm, "0", 2);
27082708
}
27092709
function d3_time_parseLiteralPercent(date, string, i) {

d3.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/locale/time-format.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ function d3_locale_timeFormat(locale) {
6262
} else date.setFullYear(d.y, d.m, d.d);
6363

6464
// Set hours, minutes, seconds and milliseconds.
65-
date.setHours(d.H + Math.floor(d.Z / 100), d.M + d.Z % 100, d.S, d.L);
65+
date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L);
6666

6767
return localZ ? date._ : date;
6868
};
@@ -347,7 +347,7 @@ function d3_time_parseMilliseconds(date, string, i) {
347347
function d3_time_zone(d) {
348348
var z = d.getTimezoneOffset(),
349349
zs = z > 0 ? "-" : "+",
350-
zh = ~~(abs(z) / 60),
350+
zh = abs(z) / 60 | 0,
351351
zm = abs(z) % 60;
352352
return zs + d3_time_formatPad(zh, "0", 2) + d3_time_formatPad(zm, "0", 2);
353353
}

test/time/format-test.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,9 @@ suite.addBatch({
329329
var p = format("%m/%d/%Y %Z").parse;
330330
assert.deepEqual(p("01/02/1990 +0000"), local(1990, 0, 1, 16));
331331
assert.deepEqual(p("01/02/1990 +0100"), local(1990, 0, 1, 15));
332+
assert.deepEqual(p("01/02/1990 +0130"), local(1990, 0, 1, 14, 30));
332333
assert.deepEqual(p("01/02/1990 -0100"), local(1990, 0, 1, 17));
334+
assert.deepEqual(p("01/02/1990 -0130"), local(1990, 0, 1, 17, 30));
333335
assert.deepEqual(p("01/02/1990 -0800"), local(1990, 0, 2, 0));
334336
},
335337
"ignores optional padding modifier, skipping zeroes and spaces": function(format) {

0 commit comments

Comments
 (0)