Angular - тип ввода HTML5 "datetime-local" не работает с объектом Date - PullRequest
0 голосов
/ 06 сентября 2018

Я пробовал разными способами. Сначала я получаю дату в виде объекта Moment.js,

 this.meeting.start = event.date.local().toDate();

Я также попробовал следующее:

this.meeting.start = new Date(this.meeting.start.toLocaleString());

мой HTML:

<input 
  type="datetime-local" 
  class="form-control" 
  value="{{meeting.start}}" 
  [(ngModel)]="meeting.start" />

но окно пользовательского интерфейса пустое: "-: - dd / mm / yy"

Спасибо.

Ответы [ 3 ]

0 голосов
/ 06 сентября 2018

Это работает для меня:

let today = new Date();
this.meeting.start = today.toISOString().split('T')[0]

в html

<input 
  type="date" 
  class="form-control" 
  value="{{meeting.start}}" 
  [(ngModel)]="meeting.start" />

см. Пример в https://angular -rb5vmu.stackblitz.io (последний элемент: Формат ввода даты)

Отредактировано!

0 голосов
/ 06 сентября 2018

Основываясь на полученной мной помощи, мне удалось заставить это работать с этим обходным путем:

var add = moment(this.meeting.start).add(3, 'hours');
var result = add.toISOString().split('.')[0];
this.meeting.start = result;
0 голосов
/ 06 сентября 2018

Попробуйте это

const fmt = 'HH:mm DD/MM/YY';
const result = moment.utc(this.meeting.start, fmt).local().format(fmt);

Шаблон:

<input type="datetime-local" [value]="result">

Образец StackBlitz

...