Skip to content

Commit 00f5ab5

Browse files
fix(ui5-daterange-picker): fix firstDate/lastDate getters values (#2277)
Fix the return values of first and last date public getters, previously returning wrong values. Fixes #2221
1 parent f0473f0 commit 00f5ab5

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

packages/main/src/DateRangePicker.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,6 @@ class DateRangePicker extends DatePicker {
197197
this._firstDateTimestamp = Date.UTC(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate(), firstDate.getHours()) / 1000;
198198
this._lastDateTimestamp = Date.UTC(secondDate.getFullYear(), secondDate.getMonth(), secondDate.getDate(), secondDate.getHours()) / 1000;
199199

200-
201200
if (this._firstDateTimestamp > this._lastDateTimestamp) {
202201
const temp = this._firstDateTimestamp;
203202
this._firstDateTimestamp = this._lastDateTimestamp;
@@ -257,7 +256,7 @@ class DateRangePicker extends DatePicker {
257256
*/
258257
get firstDateValue() {
259258
const dateValue = new Date(this._firstDateTimestamp * 1000);
260-
return new Date(Date.UTC(dateValue.getFullYear(), dateValue.getMonth(), dateValue.getDate()));
259+
return new Date(dateValue.getUTCFullYear(), dateValue.getUTCMonth(), dateValue.getUTCDate(), dateValue.getUTCHours());
261260
}
262261

263262
/**
@@ -269,7 +268,7 @@ class DateRangePicker extends DatePicker {
269268
*/
270269
get lastDateValue() {
271270
const dateValue = new Date(this._lastDateTimestamp * 1000);
272-
return new Date(Date.UTC(dateValue.getFullYear(), dateValue.getMonth(), dateValue.getDate()));
271+
return new Date(dateValue.getUTCFullYear(), dateValue.getUTCMonth(), dateValue.getUTCDate(), dateValue.getUTCHours());
273272
}
274273

275274
get _placeholder() {

packages/main/src/DayPicker.js

+1
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ class DayPicker extends UI5Element {
255255
lastWeekNumber = -1,
256256
isDaySelected = false,
257257
todayIndex = 0;
258+
258259
const _aVisibleDays = this._getVisibleDays(this._calendarDate);
259260
this._weeks = [];
260261
let week = [];

packages/main/test/specs/DateRangePicker.spec.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ describe("DateRangePicker general interaction", () => {
4343

4444
daterangepicker.click();
4545
daterangepicker.keys("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
46-
daterangepicker.keys("09/09/2019 - 10/10/2019");
46+
daterangepicker.keys("27/09/2019 - 10/10/2019");
4747
daterangepicker.keys("Enter");
4848

4949
const res = browser.execute(() => {
@@ -54,8 +54,8 @@ describe("DateRangePicker general interaction", () => {
5454
return {firstDateValue, lastDateValue};
5555
});
5656

57-
assert.strictEqual(res.firstDateValue, "2019-09-09T00:00:00.000Z", "The first date is in JS Date format");
58-
assert.strictEqual(res.lastDateValue, "2019-10-10T00:00:00.000Z", "The last date is JS Date format");
57+
assert.deepEqual(new Date(res.firstDateValue), new Date(2019, 8, 27), "The first date is in JS Date format");
58+
assert.deepEqual(new Date(res.lastDateValue), new Date(2019, 9, 10), "The last date is JS Date format");
5959
});
6060

6161
it("Initially setting the same date as first & last is possible", () => {

0 commit comments

Comments
 (0)