js經常使用的時間戳互相轉換方法,以及一些其它相關時間方法。

前言

作項目其實常常須要與時間接觸。時間戳與時間的轉換問題,在這作一個記錄。瀏覽器

1.獲取特定格式的時間

myDate.getYear(); //獲取當前年份(2位)
myDate.getFullYear(); //獲取完整的年份(4位,1970-????)
myDate.getMonth(); //獲取當前月份(0-11,0表明1月)
myDate.getDate(); //獲取當前日(1-31)
myDate.getDay(); //獲取當前星期X(0-6,0表明星期天)
myDate.getTime(); //獲取當前時間(從1970.1.1開始的毫秒數)
myDate.getHours(); //獲取當前小時數(0-23)
myDate.getMinutes(); //獲取當前分鐘數(0-59)
myDate.getSeconds(); //獲取當前秒數(0-59)
myDate.getMilliseconds(); //獲取當前毫秒數(0-999)
myDate.toLocaleDateString(); //獲取當前日期
var mytime=myDate.toLocaleTimeString(); //獲取當前時間
myDate.toLocaleString( ); //獲取日期與時間

2.獲取當前時間的時間戳

//第一種方法(精確到秒)
 var timestamp = Date.parse(new Date());

 //第二種方法(精確到毫秒)
 var timestamp = (new Date()).valueOf();

 //第三種方法(精確到毫秒)
 var timestamp=new Date().getTime();

3.時間戳轉指定日期格式

//第一種
  function getLocalTime(nS) {
    return new Date(parseInt(nS)).toLocaleString().replace(/:\d{1,2}$/, ' ');
  }
  var nowTime = getLocalTime(timestamp);  //  2018/10/15 下午9:45

  //第二種
  function getLocalTime1(nS) {
    return new Date(parseInt(nS)).toLocaleString().substr(0, 17)
  }
  var nowTime = getLocalTime1(timestamp); // 2018/10/15 下午9:53

  //第三種
   function getLocalTime2(nS) {
    return new Date(parseInt(nS)).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
  }
  let nowTime1 = getLocalTime2(timestamp); //    2018/10/15 下午9:53:10

還有一種較爲繁瑣的code

function getFormatData(getData) {
  let date = new Date(parseInt(getData));
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : '0' + n
}

let DateTime = getFormatData(timestamp);        //2018-10-17 15:31:30

4.獲取今天0點的時間戳

toLocaleDateString() 方法可根據本地時間把 Date 對象的日期部分轉換爲字符串,並返回結果。(就是返回「2018/10/17」這樣的字符串)orm

let getZeroTimestamp = new Date(new Date().toLocaleDateString()).getTime();
//注:toLocaleDateString獲得的日期字符串最好別用來作時間格式的處理(就是別直接拿這個字符串作一些替換之類的操做),由於我在別人的文章看到,在不一樣瀏覽器或者不一樣版本下。返回的樣式不同,可能會有「2018-10-17」這種格式。我本身試了最新版的Google,Firefox,Safari返回的是同樣的「2018/10/17」。

暫時就想起來那麼多,之後用到新的會繼續增長的。最後,附上,w3c上Date()對象的連接對象

相關文章
相關標籤/搜索