将日期字符串ddmmyy转换为脚本类型的ddmmyyyy。

问题描述 投票:0回答:1

在日期选择器的onchange方法中,我把日期作为字符串传递,如 ddmmyyyy (2010-2020年)至 dd/mm/yyyy. 我不知道如何将日期格式转换为 dd/mm/yyyy.在customerDateParserFormatter中,字符串需要从ddmmyyyy转换为ddmmyyyyy。

@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}. 同时,用户输入日期,而不是点击输入字段,我收到的值是一个字符串。我不知道如何转换格式,不知道如何继续。请理解我的问题。

angular typescript frontend bootstrap-datepicker
1个回答
0
投票

我已经在这里回答了这个问题。检查第三个答案 这个 链接。我用的是yyyy-mm-dd,你可以在typescript代码中使用dd-mm-yyyy格式。只要将最后一行修改为 let finalDate = day + "/"+ month + "/" + year ;

© www.soinside.com 2019 - 2024. All rights reserved.