конвертировать ионное время в час и мин - PullRequest
0 голосов
/ 26 октября 2018

Я использую компонент ионной даты и времени, как показано ниже

  <ion-item >
                    <ion-label>Time:</ion-label>
                    <ion-datetime displayFormat="h:mm A" pickerFormat="h mm A" [(ngModel)]="localEstDelTime"></ion-datetime>
              </ion-item>

для ionViewDidLoad. Я устанавливаю значение localEstDelTime следующим образом:

var d = new Date()
 var dt = d.setTime(d.getTime() + (5.5 + 2)*60*60*1000)
this.localEstDelTime = dt.toISOString()

в основном было добавлено 5,5 часов, чтобы сделать егодля индийского часового пояса, который является GMT + 5.5, и для этого случая использования предполагается, что время показывается плюс 2 часа текущего времени.

Теперь требуется, скажем, чтобы конечный пользователь добавил еще один час через пользовательский интерфейс, тогда я хочу получить этот час и время в местном часовом поясе.Мой код не работает должным образом, как показано ниже:

 var storeEstDelTime =  Date.parse(this.localEstDelTime)
 var date = new Date(storeEstDelTime)
 var hours = date.getHours() + 5.5
 var minutes = date.getMinutes()

        var ampm = Number(hours) >= 12 ? 'PM' : 'AM';
        hours = hours % 12;
        hours = hours ? hours : 12; // the hour ’0′ should be ’12′
        var minutesStr = Number(minutes) < 10 ? '0'+ minutes : minutes;

        estDeliveryTime = hours + ':' + minutesStr + ' ' + ampm;

, поэтому мне нужно, чтобы estDeliveryTime был в формате чч: мм AM / PM.мой код выше должен быть исправлен.

1 Ответ

0 голосов
/ 26 октября 2018

Всегда полезно преобразовать дату в UTC time set всегда, так как это общепринятый стандарт.Как и для ввода даты, просто конвертируйте дату следующим образом:

var now = new Date(),
    utcDate = new Date(
        now.getUTCFullYear(),
        now.getUTCMonth(),
        now.getUTCDate(),
        now.getUTCHours(),
        now.getUTCMinutes(), 
        now.getUTCSeconds()
    );

Теперь, когда вы берете ввод от пользователя для времени доставки (для этого дополнительного часа), сделайте то же самое с этой датой и добавьте эточасов до utcDate и в конце конвертируйте дату UTC в дату по Гринвичу с 5,5, как для IST.

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...