ввод даты предзаполнения в пользовательском интерфейсе - PullRequest
0 голосов
/ 24 октября 2018

Привет, я новичок в пользовательском интерфейсе ясности vmware. Моя проблема: я использую datetime-local. Я хочу предварительно заполнить текущую дату и время в поле datetime-local. Я пытаюсь сделать это, используя ngModel в следующем формате 2017-06-06-13T13: 00, он предварительно заполнен в интерфейсе пользователя, но время не отображается должным образом, отстает от 5 часов IST Пожалуйста, дайте мне знать, где я иду не так, заранее спасибо

htmlкомпонент

 <clr-input-container>
    <label>Start Time</label>
    <input type="datetime-local" clrInput [(ngModel)]="start_time" name="start_time" style="width:100%" required />
    <!-- <clr-control-helper>Please choose Incident Start Date&Time in DD/MM/YYYY Hr:M:-AM/PM</clr-control-helper> -->
    <clr-control-error>This field is required!</clr-control-error>
 </clr-input-container>

ts файл

start_time =  new Date().toISOString().substr(0, 16);

enter image description here

1 Ответ

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

Это не имеет ничего общего с Clarity, а скорее с тем, как работают некоторые элементы HTML.

Проблема заключается в том, что вы создаете новую дату на основе UTC, а затем отбрасываете часовой пояс (substr удаляет Z).Вход datetime-local предполагает, что он находится в местном часовом поясе.Таким образом, вам нужно будет построить дату в местном часовом поясе, и тогда она будет отображаться правильно.Вам придется создавать время вручную (или использовать библиотеку, подобную MomentJS), потому что нет метода JavaScript Date, который бы предоставлял вам формат типа YYYY-MM-DDTHH:MM.

datetime-local поддерживается не всеми основными браузерами,поэтому я бы предостерег от его использования.

...