成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

一行js代碼實(shí)現(xiàn)時(shí)間戳轉(zhuǎn)時(shí)間格式

luck / 3121人閱讀

摘要:一行代碼實(shí)現(xiàn)時(shí)間戳轉(zhuǎn)時(shí)間格式前端開發(fā)過程中,常常需要將時(shí)間戳轉(zhuǎn)化為標(biāo)準(zhǔn)時(shí)間格式供用戶瀏覽。新思路為了將時(shí)間戳轉(zhuǎn)換為我們需要的時(shí)間格式,我們寫了兩個(gè)函數(shù),加起來十幾行。

一行代碼實(shí)現(xiàn)時(shí)間戳轉(zhuǎn)時(shí)間格式

前端開發(fā)過程中,常常需要將時(shí)間戳轉(zhuǎn)化為標(biāo)準(zhǔn)時(shí)間格式供用戶瀏覽。不借助方法庫的情況下,如何又快又好的實(shí)現(xiàn)呢?下面介紹兩種方法。

老方法

平常用的基本是這個(gè)方法,用Date方法依次將年月日時(shí)分秒一個(gè)個(gè)算出來,然后拼接成需要的時(shí)間格式字符串。

function transformTime(timestamp = +new Date()) {
    if (timestamp) {
        var time = new Date(timestamp);
        var y = time.getFullYear(); //getFullYear方法以四位數(shù)字返回年份
        var M = time.getMonth() + 1; // getMonth方法從 Date 對(duì)象返回月份 (0 ~ 11),返回結(jié)果需要手動(dòng)加一
        var d = time.getDate(); // getDate方法從 Date 對(duì)象返回一個(gè)月中的某一天 (1 ~ 31)
        var h = time.getHours(); // getHours方法返回 Date 對(duì)象的小時(shí) (0 ~ 23)
        var m = time.getMinutes(); // getMinutes方法返回 Date 對(duì)象的分鐘 (0 ~ 59)
        var s = time.getSeconds(); // getSeconds方法返回 Date 對(duì)象的秒數(shù) (0 ~ 59)
        return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s;
      } else {
          return "";
      }
}
transformTime(); // "2018-8-8 12:9:12"
老方法改進(jìn)版

上面的轉(zhuǎn)換方法,通過將時(shí)間戳轉(zhuǎn)換為Date實(shí)例,利用Date對(duì)應(yīng)的方法獲取對(duì)應(yīng)的年月日時(shí)分秒,獲取的時(shí)間格式是‘2018-8-8 12:9:12’,看著有點(diǎn)別扭。為了轉(zhuǎn)化為我們常用的時(shí)間格式,還需要注意對(duì)小于10的值,在前面添加字符串‘0’,轉(zhuǎn)換為‘2018-08-08 12:09:12’這種時(shí)間格式。

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(); // "2018-08-08 12:09:12"

對(duì)返回小于10的時(shí)間數(shù)值進(jìn)行處理,用‘a(chǎn)ddZero’方法為字符串添加‘0’,這樣格式就對(duì)稱了。

新思路

為了將時(shí)間戳轉(zhuǎn)換為我們需要的時(shí)間格式,我們寫了兩個(gè)函數(shù),加起來十幾行。前段時(shí)間,部門大佬告知了另外一種方式,一行代碼完成時(shí)間戳轉(zhuǎn)換為‘YYYY-MM-DD HH:mm:ss’形式的時(shí)間格式,頓時(shí)代碼精簡(jiǎn)了很多,話不多說,亮出代碼

function time(time = +new Date()) {
    var date = new Date(time + 8 * 3600 * 1000); // 增加8小時(shí)
    return date.toJSON().substr(0, 19).replace("T", " ");
}
time(); // "2018-08-09 18:25:54"

Date的‘toJSON’方法返回格林威治時(shí)間的JSON格式字符串,實(shí)際是使用‘toISOString’方法的結(jié)果。字符串形如‘2018-08-09T10:20:54.396Z’,轉(zhuǎn)化為北京時(shí)間需要額外增加八個(gè)時(shí)區(qū),我們需要取字符串前19位,然后把‘T’替換為空格,即是我們需要的時(shí)間格式。

function time(time = +new Date()) {
    var date = new Date(time + 8 * 3600 * 1000);
    return date.toJSON().substr(0, 19).replace("T", " ").replace(/-/g, ".");
}
time(); // "2018.08.09 18:25:54"

把時(shí)間格式中的‘-’修改為‘.’或者其他符號(hào)都是可以的。對(duì)比老方法,這種方法代碼量比以前省了不止一星半點(diǎn)的,讀起來也簡(jiǎn)潔多了。如果時(shí)間格式需要毫秒數(shù),只需要獲取前23位字符串,和上面一樣用replace方法替換。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96921.html

相關(guān)文章

  • Python之時(shí)間和日期使用小結(jié)

    摘要:對(duì)于日期的操作可以說是比較常見的了日期與格式化字符串互轉(zhuǎn),日期與時(shí)間戳互轉(zhuǎn),日期的加減操作等,下面主要介紹下常見的需求場(chǎng)景如何實(shí)現(xiàn)基本包引入主要需要引入時(shí)間和日期的處理包,后面的基本操作都是基于此獲取當(dāng)前時(shí)間獲取當(dāng)前時(shí)間,有幾種方式 對(duì)于日期的操作可以說是比較常見的case了,日期與格式化字符串互轉(zhuǎn),日期與時(shí)間戳互轉(zhuǎn),日期的加減操作等,下面主要介紹下常見的需求場(chǎng)景如何實(shí)現(xiàn) 1. 基本...

    BigNerdCoding 評(píng)論0 收藏0
  • js常用的時(shí)間戳互相轉(zhuǎn)換方法,以及一些其它相關(guān)時(shí)間方法。

    摘要:前言做項(xiàng)目其實(shí)經(jīng)常需要與時(shí)間接觸。時(shí)間戳與時(shí)間的轉(zhuǎn)換問題,在這做一個(gè)記錄。我自己試了最新版的,,返回的是一樣的。 前言 做項(xiàng)目其實(shí)經(jīng)常需要與時(shí)間接觸。時(shí)間戳與時(shí)間的轉(zhuǎn)換問題,在這做一個(gè)記錄。 1.獲取特定格式的時(shí)間 myDate.getYear(); //獲取當(dāng)前年份(2位) myDate.getFullYear(); //獲取完整的年份(4位,1970-????) myDate.ge...

    李昌杰 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<