Угловой 4 формата ввода даты

В опции редактирования элемента у меня была такая форма. Как изменить формат даты как dd/MM/yy. Например, 07/07/18, но это отражается как полный год. Как переопределить это?

<input type="date"  class="form-control" name="published" #published [(ngModel)] = "books.published"  [ngModelOptions]="{ standalone: true }"/>

2 ответа

Решение

Установите значение, возвращаемое нижеприведенной функцией fiddler, для вашей модели и привяжите его к вашему представлению. jsfiddle

 //A function for formatting a date to MM/dd/yy
    function formatDate(d)
    {
        //get the month
        var month = d.getMonth();
        //get the day
        //convert day to string
        var day = d.getDate().toString();
        //get the year
        var year = d.getFullYear();

        //pull the last two digits of the year
        year = year.toString().substr(-2);

        //increment month by 1 since it is 0 indexed
        //converts month to a string
        month = (month + 1).toString();

        //if month is 1-9 pad right with a 0 for two digits
        if (month.length === 1)
        {
            month = "0" + month;
        }

        //if day is between 1-9 pad right with a 0 for two digits
        if (day.length === 1)
        {
            day = "0" + day;
        }

        //return the string "MMddyy"
        return month +'/'+ day +'/'+ year;
    }

    var d = new Date();
    alert(formatDate(d));

Вы должны использовать <input type="text" и Regex, чтобы отформатировать ввод текста в желаемый формат даты. Подробнее о регулярных выражениях здесь и здесь

Другие вопросы по тегам