Angularでunix timeを取得する

2021/08/01に公開

momentjsを利用したやり方

コマンドでmomenjsをプロジェクトにインストールする。
npm install moment --save

importして下記のように利用できる。

import * as moment from 'moment';
let unixtime:number=moment().unix();

Dateを利用したやり方

Date.now()というコードでunix timeのミリ秒版が取得できる。
なのでDate.now()/1000で単位を秒にすれば小数点付きだがunix timeにできます。
個人的にはこっちのほうが良いと思います。(モジュールに依存していないため。)

余談

DatePipeというものが@angular/commonに準備されているから、こちらを利用すれば文字変換も可能
https://angular.jp/api/common/DatePipe

こんな感じで使えます。
unix timeにこだわりがなければDate.now()のまま利用したほうが良いかもしれないですね…

app.module.ts
import { DatePipe } from '@angular/common';
@NgModule({
//...
  providers: [DatePipe]
})
import { Component, VERSION } from '@angular/core';
import { DatePipe } from '@angular/common';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  name = 'Angular ' + VERSION.major;
  constructor(private datePipe: DatePipe) {
    console.log(this.datePipe.transform(Date.now(), 'yyyy/MM/dd HH:mm:ss'));
  }
}

Discussion