html - 如何使用 Angular 在 Html 中显示日期?

标签 html angular typescript

我的 HTML 文件中有两个使用 Bootstrap 的 datepickeres,我正在尝试显示从这个(第一个选择的日期)到这个(第二个选择的日期)的简单消息。

typescript 类是:

 export class Datepicker {
    date: any;
    } 

HTML 是:

 <div class="form-group">
      <label for="hireDate">Hire Date:</label>
      <form class="form-inline">
        <div class="form-group">
          <div class="input-group">
            <input class="form-control" name="hireDate" id="hireDate" placeholder="yyyy-mm-dd"
                   [(ngModel)]="datePicker.date" ngbDatepicker #d="ngbDatepicker">
            <div class="input-group-append">
              <button class="btn btn-outline-secondary" (click)="d.toggle()" type="button">
                <img src="/assets/calendar-icon.svg" style="width: 1.2rem; height: 1rem; cursor: pointer;"/>
              </button>
            </div>
          </div>
        </div>
      </form>
    </div>
<div>{{datePicker.date}} </div>

但它给我的结果是对象而不是选定的日期。 有帮助吗?

最佳答案

您可以使用 Angular DatePipe 将日期转换为您希望显示的格式。

<div> {{datePicker.date | date : 'yyyy-MM-dd'}} </div>

DEMO

编辑:将 ngBootstrap 返回的日期对象 ({ "year": 2018, "month": 8, "day": 7 }) 转换为 yyyy-MM-dd 格式,可以在datePicker.date属性的setter方法中进行转换,如下:

模块.ts

提供者:[DatePipe]

服务.ts

export class Datepicker {
  _date: string;
  constructor(private datePipe: DatePipe) {}

  set date(value) {
    let date = new Date(value.year, value.month, value.year);
    this._date= this.datePipe.transform(date, 'yyyy-MM-dd');
  }

  get date() { 
      return this._date
  }
}

关于html - 如何使用 Angular 在 Html 中显示日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51734456/

相关文章:

html - 如何根据我所在的 URL/网站和/或服务器自动选择要使用的 css?

html - div 中的背景图像未显示

Angular4模板引用变量赋值

javascript - 为什么自关闭脚本不适用于 ExtJS?

javascript - 通过下拉菜单更改 iframe src 不会加载新的 iframe

angular - CanLoad 守卫可以在 Electron 应用程序中使用吗?

HTTP 错误处理程序中的 Angular 2 router.navigate()

node.js - Typescript build "Cannot find module",但仅在 ubuntu 服务器上

javascript - 过滤器不适用于第三个子级别(嵌套级别)

Visual Studio 中的 Typescript AMD 模块