LoginSignup
0
0

More than 3 years have passed since last update.

文字列じゃなくて、実際の日付を反映させていく date-fns

Last updated at Posted at 2020-11-22

文字列じゃなくて、実際の日付を反映させていく

前のやつ
https://qiita.com/shoiizuka/items/6f4fa25b23c6f830b3fb

前のやつは文字列だったけど、dateーfnsを通じて、時計みたいな感じにする

LiveDate.vue

<template>
  <div class="text-subtitle-1 ml-4">
    {{date}} <!-- 8データの値を反映 -->
  </div>
</template>

<script>
import {format} from 'date-fns' //1日付処理のやつイン。前にnpmでインストールした

export default {
  data(){ //2新しく設定
    return{
      date:'' //3空にしとく
    }
  },
  methods:{
    getDate(){  //4データに入れる日付はメソッドにする
      this.date = format(new Date(), 'MMM d') //5thisでdataのdateに今日の日付をいれる
    }
  },
  mounted(){//6リロードしたときに反映させたいので、マウンテッドの中に
    this.getDate() //7,メソッドを使う
  }
}
</script>

前にnpmインストールしたやつ
日付をうまいこと反映させてくれる、パッケージ
https://date-fns.org/v2.16.1/docs/format

これで、今日の日付が反映された
スクリーンショット 2020-11-22 9.54.11.png

日付にプラスして時間も追加したい

前にnpmインストールしたやつ
日付をうまいこと反映させてくれる、パッケージ
https://date-fns.org/v2.16.1/docs/format
のドキュメントを見てみると、

Month (formatting)
M1, 2, ..., 12
Mo 1st, 2nd, ..., 12th
MM 01, 02, ..., 12
MMM Jan, Feb, ..., Dec
MMMM January, February, ..., December ●これ採用
MMMMM J, F, ..., D

Hour [0-23]

H 0, 1, 2, ..., 23 ●これ採用
Ho 0th, 1st, 2nd, ..., 23rd7
HH 00, 01, 02, ..., 23

Minute
m 0, 1, ..., 59 
mo 0th, 1st, ..., 59th7
mm 00, 01, ..., 59 ●これ採用

Second
s 0, 1, ..., 59
so 0th, 1st, ..., 59th7
ss 00, 01, ..., 59 ●これ採用

と書いてあるので

LiveDate.vue

  methods:{
    getDate(){
      this.date = format(new Date(), 'MMMM d,H:mm:ss') //1,月時間分秒を表示、コロン区切り

リロードすれば表示が切り替わるが、セットタイムアウトで毎秒切り替わるようにする

LiveDate.vue
  methods:{
    getDate(){
      this.date = format(new Date(), 'MMMM d,H:mm:ss')
      setTimeout(this.getDate,1000)  //2,1秒毎にmountedのgetdateを実行
    }
  },
  mounted(){
    this.getDate()
  }

日付が細かく入るようになった

スクリーンショット 2020-11-22 10.26.08.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0