Melchia
Melchia

Reputation: 24314

Ionic ion-datetime - default it to the date and time with the timezone of the user's device

I'm using Ionic 3. I used ion-datetime component:

myDate: String = new Date().toISOString();

<ion-datetime displayFormat="HH:mm" pickerFormat="HH:mm" [(ngModel)]="myDate"></ion-datetime>

I want to have today's date that depends on the timezone of the user device. Unfortunately new Date().toISOString() always returns the GMT one. any advises how to this properly ?

Upvotes: 2

Views: 7464

Answers (3)

Daniel Delgado
Daniel Delgado

Reputation: 5333

  1. Open console at root proyect and install moment: npm install moment --S.
  2. Import moment in component file: import moment from 'moment';.
  3. Set value of model variable: this.myDate = moment().format().

Check this post for more details: https://stackoverflow.com/a/47843362/7829826

Upvotes: 1

Mario Shtika
Mario Shtika

Reputation: 1486

If you use toLocalString() it gives you the following format MM/DD/YYYY, HH:MM:SS A

If you need the a ISO 8601 format consider using the below code:

mydate: String = (new Date(Date.now() - (new Date()).getTimezoneOffset() * 60000)).toISOString().slice(0, -1);

Upvotes: 5

try using the toLocaleString() function of the Javascript Date Object.

 myDate: String = new Date().toLocaleString();

Hope this helps.

Upvotes: 1

Related Questions