Преобразовать строку даты ddmmyy в dd / mm / yyyy в скрипте типа - PullRequest
0 голосов
/ 27 апреля 2020

В методе выбора даты я передал дату в виде строки типа ddmmyyyy (20102020) в dd/mm/yyyy. Я не знаю, как преобразовать формат даты в dd/mm/yyyy. В customerDateParserFormatter необходимо преобразовать строку из ddmmyyyy в dd / mm / yyyyy

@Injectable()
export class CustomDateParserFormatter {
    parse(value: string): NgbDateStruct {
        if (!value) {
            return null;
        }
        const parts = value;
        parts.split('/');
        console.log("first calling");
        return { year: +parts[0], month: +parts[1], day: +parts[2] } as NgbDateStruct;

    }
    format(date: NgbDateStruct): string {
        // tslint:disable-next-line:prefer-template
        console.log("second calling");
        return date ? ('0' + date.day).slice(-2) + '/' + ('0' + date.month).slice(-2) + '/' + date.year : null;
    }
}

    <input class="form-control"
           placeholder="DD/MM/YYYY"
           ngbDatepicker
           formControlName="dateofBrith"
           [minDate]="{year: 1975, month: 1, day: 1}"
           [maxDate]="{year: 2020, month: 12, day: 31}"
           name="dp"
           #d="ngbDatepicker"
           (ngModelChange)="changeDob($event)"
           maxlength="10">
        <div class="input-group-append">
            <button class="btn calendar btn-custom btn-outline-secondary"
                    (click)="d.toggle()"
                    type="button"><img src="/assets/images/dateicon.png"></button>
        </div>

    changeDob(value) {}

. В этом методе я получаю значение из щелчка выбора даты. как {year:2020,month:10,day:10}. В то же время, пользователь вводит дату, вместо щелчка в поле ввода, я получаю значение в виде строки. Я не знаю, как конвертировать формат и не знаю, чтобы продолжить. Пожалуйста, поймите мою проблему.

1 Ответ

0 голосов
/ 27 апреля 2020

Я ответил на этот вопрос здесь. Проверьте 3-й ответ в этой ссылке. Я использовал гггг-мм-дд, вы можете использовать формат дд-мм-гггг в машинописном коде. Просто измените последнюю строку на
let finalDate = day + "/"+ month + "/" + year ;

...