Skip to content

Commit 272daf2

Browse files
committed
fix(datetime): fix ISO format when w/out timezone data
Closes #6608
1 parent c1ad804 commit 272daf2

File tree

4 files changed

+33
-2
lines changed

4 files changed

+33
-2
lines changed

src/components/datetime/test/basic/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ class E2EPage {
1414
webkitOpenSourced = '2005-06-17T11:06Z';
1515
chromeReleased = '2008-09-02';
1616
leapYearsSummerMonths = '';
17+
convertedDate = '';
1718

1819
leapYearsArray = [2020, 2016, 2008, 2004, 2000, 1996];
1920

@@ -39,6 +40,10 @@ class E2EPage {
3940
this.leapYearsSummerMonths = null;
4041
}
4142

43+
convertDate() {
44+
this.convertedDate = new Date(this.myDate).toISOString();
45+
}
46+
4247
}
4348

4449

src/components/datetime/test/basic/main.html

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,18 @@
6868
<code>Leap year, summer months: {{leapYearsSummerMonths}}</code><br>
6969
</p>
7070

71-
<button (click)="clearLeapYear()">Clear Leap Years</button>
71+
<p>
72+
<button (click)="clearLeapYear()">Clear Leap Years</button>
73+
</p>
74+
75+
<ion-item>
76+
<ion-label>myDate: {{myDate}}</ion-label>
77+
<ion-datetime displayFormat="MMM DD, YYYY HH:mm" [(ngModel)]="myDate"></ion-datetime>
78+
</ion-item>
79+
80+
<p>
81+
<button (click)="convertDate()">Convert myDate To Date</button>
82+
{{convertedDate}}
83+
</p>
7284

7385
</ion-content>

src/util/datetime-util.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ export function convertDataToISO(data: DateTimeData): string {
352352
rtn += '.' + threeDigit(data.millisecond);
353353
}
354354

355-
if (data.tzOffset === 0) {
355+
if (isBlank(data.tzOffset) || data.tzOffset === 0) {
356356
// YYYY-MM-DDTHH:mm:SSZ
357357
rtn += 'Z';
358358

src/util/test/datetime-util.spec.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,20 @@ export function run() {
44

55
describe('convertDataToISO', () => {
66

7+
it('should convert DateTimeData to datetime string, with blank timezone', () => {
8+
var data: datetime.DateTimeData = {
9+
year: 1994,
10+
month: 12,
11+
day: 15,
12+
hour: 13,
13+
minute: 47,
14+
second: 20,
15+
};
16+
17+
var str = datetime.convertDataToISO(data);
18+
expect(str).toEqual('1994-12-15T13:47:20Z');
19+
});
20+
721
it('should convert DateTimeData to datetime string, +330 tz offset', () => {
822
var data: datetime.DateTimeData = {
923
year: 1994,

0 commit comments

Comments
 (0)