首页IT科技前端把时间转换成时间戳(前端常见的时间转换方法合集+动态时钟效果实现)

前端把时间转换成时间戳(前端常见的时间转换方法合集+动态时钟效果实现)

时间2025-06-15 07:27:02分类IT科技浏览5102
导读:1.将时间戳转换为YYYY-MM-DD HH:mm:ss格式-老方法...

1.将时间戳转换为YYYY-MM-DD HH:mm:ss格式-老方法

通过对应的年月日时分秒依次进行拼接             ,另外还需要对小于10的值进行处理                   ,在前面添加字符串‘0’        ,转换为常见的两位数时间格式

function transformTime(timestamp = +new Date()) {

    if (timestamp) {

        var time = new Date(timestamp);

        var y = time.getFullYear();

        var M = time.getMonth() + 1;

        var d = time.getDate();

        var h = time.getHours();

        var m = time.getMinutes();

        var s = time.getSeconds();

        return y + - + addZero(M) + - + addZero(d) + + addZero(h) + : + addZero(m) + : + addZero(s);

      } else {

          return ;

      }

}

function addZero(m) {

    return m < 10 ? 0 + m : m;

}

transformTime(); // "2023-01-25 15:25:28"

老方法优化思路:

new Date().toJSON获取的是格林威治时间的JSON字符串          ,例如:2023-01-25T15:39:11.803Z

转化为北京时间需要额外增加八个时区                  ,也就是在当前时间戳的基础上增加8个小时

我们需要的是字符串前19位           ,再把‘T’替换为空格       ,就是我们需要的时间格式

function time(time = +new Date()) {

  var date = new Date(time + 8 * 3600 * 1000) // 增加8小时

  return date

    .toJSON()

    .substr(0, 19)

    .replace(T,   )

}

time() // 2023-01-25 15:39:11

2.vue中时间转换插件:moment.js

(1)下载安装包

npm install moment --save

(2)在main.js中引入

import moment from moment

Vue.prototype.$moment = moment

(3)使用

moment(需要转换的时间).format(目标转换格式); 

this.$moment(需要转换的时间).format(YYYY-MM-DD) 

更多时间转换格式                  ,详细可见官网:Moment.js 中文网

 3.vue 动态显示实时时间/时间格式化插件:dayjs

(1)下载安装包

npm install dayjs --save

(2)在main.js中引入              ,全局使用

import dayjs from "dayjs"

Vue.prototype.dayjs = dayjs; 

(3)具体使用

this.dayjs().format(YYYY-MM-DD)  // 当前日期:年月日

this.dayjs().format("YYYY-MM-DD HH:mm:ss")  // 当前日期:年月日 时分秒

/* 获取过去七天时间 */

 for (let i = 6; i >= 0; i--) {

   let date = this.dayjs(this.dayjs()-24*60*60*1000*i).format("YYYY-MM-DD")

   console.log(date)

 }

 dayjs实现钟表效果-实时显示时间

<template>

  <div id="app">

    {{this.datetime}}

  </div>

</template>

<script>

  export default {

    name: "app",

    data() {

      return {

        timer: ,

        datetime:

      }

    },

    mounted() {

      /* 每秒定时刷新 */

      this.timer = setInterval(() => {

        this.datetime = this.dayjs().format("YYYY-MM-DD HH:mm:ss")

        console.log(this.datetime)

      }, 1000)

    },

    beforeDestroy() {

      /* 离开页面前销毁定时器 */

      if(this.timer){

        clearInterval(this.timer);

      }

    }

  };

</script>

4.将Excel日期时间上传后转成标准时间 

function formatExcelDate(numb, format = /) {

  const time = new Date((numb - 25567) * 24 * 3600000 - 5 * 60 * 1000 - 43 * 1000 - 24 * 3600000 - 8 * 3600000)

  time.setYear(time.getFullYear())

  const year = time.getFullYear() +

  const month = time.getMonth() + 1 +

  const date = time.getDate() +

  if (format && format.length === 1) {

    return year + format + month + format + date

  }

  return year + (month < 10 ? 0 + month : month) + (date < 10 ? 0 + date : date)

}

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
如何对搜索引擎进行优化(如何利用搜索引擎优化的方法提升搜索引擎营销效果) 快速提高SEO排名的秘诀(如何快速提高SEO排名)