JS時間戳與時間字符串之間的相互轉換


時間字符串 轉 時間戳

  /**
   * 時間字符串 轉 時間戳
   * @param {String} time_str 時間字符串(格式"2014-07-10 10:21:12")
   * @returns {Number} 10位數的時間戳(秒值:1404958872000)
   */
const toTimestamp = time_str => +new Date(time_str) / 1000
  • 默認轉化后為Number類型后獲得的是時間的毫秒數值,需求是要10位數的秒值,所以需要除以1000

  • JavaScript中可以在某個元素前使用 '+' 號,這個操作是將該元素轉換成Number類型,如果轉換失敗,那么將得到 NaN

  • +new Date() 將會調用 Date.prototype 上的valueOf()方法

  • 等效代碼如下:

    • console.log(+new Date());
    • console.log(new Date().getTime());
    • console.log(new Date().valueOf());
    • console.log(new Date() * 1);

時間戳 轉 時間字符串

/**
 * 時間戳 轉 時間字符串
 * @param {Number} time_stamp 10位數的時間戳(秒值:1404958872)
 * @returns {String} 時間字符串 (格式"2014-07-10 10:21:12")
 */
const toTimestr = time_stamp => {
    const time = new Date(time_stamp * 1000);
    const Y = time.getFullYear()
    const M = (time.getMonth() + 1).toString().padStart(2, '0')
    const D = time.getDate().toString().padStart(2, '0')
    const h = time.getHours().toString().padStart(2, '0')
    const m = time.getMinutes().toString().padStart(2, '0')
    const s = time.getSeconds().toString().padStart(2, '0')
    return `${Y}/${M}/${D} ${h}:${m}:${s}`
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM