我正在使用 Angularjs 和 Angular 8 开发混合应用程序。我使用 datepicker 来显示从 api 获取的日期,但问题是如果我使用输入类型为 “text” 那么它会显示日期,但如果我使用输入类型为“日期”,则仅显示dd/mm/yyyy。我已经尝试了一切,但一切都是徒劳。任何建议将不胜感激。
代码
输入类型为“文本”时日期可见
<div class="datepicker-wrap input-group">
<input uib-datepicker type="text" class="form-control"
id="date_dead_line"
placeholder="dd MM YYYY"
value="{{(glPlmAsmt.data.deadline_time*1000) | date : 'dd MMM yyyy'}}"
is-open = 'false'
>
<button type="button" class="btn gl-datepicker-btn"
ng-click="glPlmAsmt.openDeadLineDate()">
<i class="glicon-date"></i>
</button>
</div>
</div>
当输入类型为“日期”时,日期不可见
<div class="datepicker-cont-wrap">
<div class="datepicker-wrap input-group">
<input uib-datepicker type="date" class="form-control"
id="date_dead_line"
placeholder="dd MM YYYY"
value="{{(glPlmAsmt.data.deadline_time*1000) | date : 'dd MMM yyyy'}}"
is-open = 'false'
>
<button type="button" class="btn gl-datepicker-btn"
ng-click="glPlmAsmt.openDeadLineDate()">
<i class="glicon-date"></i>
</button>
</div>
</div>
我需要以 dd MMM yyyy 格式显示日期,但它只显示 dd/mm/yyyy
,而不是日期值前https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date:
注意:显示的日期格式与实际值会有所不同 — 显示日期的格式基于用户的区域设置 浏览器,但解析的值始终采用 yyyy-mm-dd 格式。
您使用的值 (
{{(glPlmAsmt.data.deadline_time*1000) | date : 'dd MMM yyyy'}}
) 显然不是 yyyy-mm-dd
格式,因此无法正确显示。
为什么你还需要输入日期?它生成自己的日期选择器,这很可能会与 UI Boostrap 日期选择器冲突。如果它适用于文本输入,则只需使用文本输入即可。