我读过文章:Is there any way to change input type="date" format?但是想知道我的案例是否有可行的工作方法 .

我有一个问题,如何在各种浏览器中处理日期 . 使用Angular,我们开发了一个与REST服务对话的应用程序 . 部分要求是输入日期 . HTML很简单,只使用Reactive表单 . 这是一个片段 .

<form class="component-form-container" novalidate [formGroup]="archiveForm" (ngSubmit)="archiveData()">
            <fieldset>
                <section>
                    <div class="createArchive-form-container">
                        <label for="archiveSequoiaToDate">Extract and archive Sequoia data up to: </label>
                        <input type="date" name="archiveSequoiaToDate" formControlName="ArchiveToDate" width="50px" placeholder="dd/mm/yyyy" {{myDate | amTimeAgo}}>
                      <label class="errorMessage" *ngIf="archiveForm.touched && !archiveForm.valid">{{errorMessage}}</label>
                      

显然不完整但基本上“日期输入”只是将输入到浏览器的日期传递给后面的代码,后者将值传递给服务 . 这里再次是相关的代码片段 .

const archiveToDate = date.parse(this.archiveForm.get('ArchiveToDate').value);
const archiveTo = new Date(archiveToDate);
this.archivingService.archiveData(archiveTo).subscribe(x => { this.toggleProgress = true; },
  err => {
    this.handleArchiveError(err.json());

  });

我的问题是,大多数内置日期选择器控件的浏览器(Chrome,Edge,Firefox)按预期工作,即如果我在传入日期命中时使用浏览器日期选择器输入01/06/2018(dd / MM / yyyy) “archive.archivingService.archiveData(archiveTo)”代码行'archiveTo'变量是01/06/2018

但是,当使用没有日期选择器的I.E 11时,您必须在日期传递到服务时将日期键入01/06/2018,在此示例中将其格式化为06/01/2018 . 这意味着用于归档的数据不会按预期被挖掘出来 .

有没有办法强制输入浏览器日期输入的任何日期到使用该网站的人的区域设置?

我真的不想开始添加自定义控件(例如ngx datepicker)并且更喜欢'快速而肮脏'的东西