fix(datetime): fix ISO format when w/out timezone data

Closes #6608
This commit is contained in:
Adam Bradley
2016-06-01 09:40:45 -05:00
parent c1ad804be8
commit 272daf2993
4 changed files with 33 additions and 2 deletions

View File

@ -14,6 +14,7 @@ class E2EPage {
webkitOpenSourced = '2005-06-17T11:06Z'; webkitOpenSourced = '2005-06-17T11:06Z';
chromeReleased = '2008-09-02'; chromeReleased = '2008-09-02';
leapYearsSummerMonths = ''; leapYearsSummerMonths = '';
convertedDate = '';
leapYearsArray = [2020, 2016, 2008, 2004, 2000, 1996]; leapYearsArray = [2020, 2016, 2008, 2004, 2000, 1996];
@ -39,6 +40,10 @@ class E2EPage {
this.leapYearsSummerMonths = null; this.leapYearsSummerMonths = null;
} }
convertDate() {
this.convertedDate = new Date(this.myDate).toISOString();
}
} }

View File

@ -68,6 +68,18 @@
<code>Leap year, summer months: {{leapYearsSummerMonths}}</code><br> <code>Leap year, summer months: {{leapYearsSummerMonths}}</code><br>
</p> </p>
<button (click)="clearLeapYear()">Clear Leap Years</button> <p>
<button (click)="clearLeapYear()">Clear Leap Years</button>
</p>
<ion-item>
<ion-label>myDate: {{myDate}}</ion-label>
<ion-datetime displayFormat="MMM DD, YYYY HH:mm" [(ngModel)]="myDate"></ion-datetime>
</ion-item>
<p>
<button (click)="convertDate()">Convert myDate To Date</button>
{{convertedDate}}
</p>
</ion-content> </ion-content>

View File

@ -352,7 +352,7 @@ export function convertDataToISO(data: DateTimeData): string {
rtn += '.' + threeDigit(data.millisecond); rtn += '.' + threeDigit(data.millisecond);
} }
if (data.tzOffset === 0) { if (isBlank(data.tzOffset) || data.tzOffset === 0) {
// YYYY-MM-DDTHH:mm:SSZ // YYYY-MM-DDTHH:mm:SSZ
rtn += 'Z'; rtn += 'Z';

View File

@ -4,6 +4,20 @@ export function run() {
describe('convertDataToISO', () => { describe('convertDataToISO', () => {
it('should convert DateTimeData to datetime string, with blank timezone', () => {
var data: datetime.DateTimeData = {
year: 1994,
month: 12,
day: 15,
hour: 13,
minute: 47,
second: 20,
};
var str = datetime.convertDataToISO(data);
expect(str).toEqual('1994-12-15T13:47:20Z');
});
it('should convert DateTimeData to datetime string, +330 tz offset', () => { it('should convert DateTimeData to datetime string, +330 tz offset', () => {
var data: datetime.DateTimeData = { var data: datetime.DateTimeData = {
year: 1994, year: 1994,