1. 程式人生 > >js時間戳與日期格式之間的互轉

js時間戳與日期格式之間的互轉

1. 將時間戳轉換成日期格式

// 簡單的一句程式碼
var date = new Date(時間戳); //獲取一個時間物件

/**
 1. 下面是獲取時間日期的方法,需要什麼樣的格式自己拼接起來就好了
 2. 更多好用的方法可以在這查到 -> http://www.w3school.com.cn/jsref/jsref_obj_date.asp
 */
date.getFullYear();  // 獲取完整的年份(4位,1970)
date.getMonth();  // 獲取月份(0-11,0代表1月,用的時候記得加上1)
date.getDate();  // 獲取日(1-31)
date.getTime();  // 獲取時間(從1970.1.1開始的毫秒數)
date.getHours(); // 獲取小時數(0-23) date.getMinutes(); // 獲取分鐘數(0-59) date.getSeconds(); // 獲取秒數(0-59)

例子

// 比如需要這樣的格式 yyyy-MM-dd hh:mm:ss
var date = new Date(1398250549490);
Y = date.getFullYear() + '-';
M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
D = date.getDate() + ' '
; h = date.getHours() + ':'; m = date.getMinutes() + ':'; s = date.getSeconds(); console.log(Y+M+D+h+m+s); //呀麻碟 // 輸出結果:2014-04-23 18:55:49

2. 將日期格式轉換成時間戳

// 也很簡單
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime); //傳入一個時間格式,如果不傳入就是獲取現在的時間了,這樣做不相容火狐。
// 可以這樣做
var date = new Date(strtime.replace(/-/g
, '/')); // 有三種方式獲取,在後面會講到三種方式的區別 time1 = date.getTime(); time2 = date.valueOf(); time3 = Date.parse(date); /* 三種獲取的區別: 第一、第二種:會精確到毫秒 第三種:只能精確到秒,毫秒將用0來代替 比如上面程式碼輸出的結果(一眼就能看出區別): 1398250549123 1398250549123 1398250549000 */

3. Date()引數形式有7種

  1. new Date("month dd,yyyy hh:mm:ss");

  2. new Date("month dd,yyyy");

  3. new Date("yyyy/MM/dd hh:mm:ss");

  4. new Date("yyyy/MM/dd");

  5. new Date(yyyy,mth,dd,hh,mm,ss);

  6. new Date(yyyy,mth,dd);

  7. new Date(ms);

比如:

  1. new Date("September 16,2016 14:15:05");

  2. new Date("September 16,2016");

  3. new Date("2016/09/16 14:15:05");

  4. new Date("2016/09/16");

  5. new Date(2016,8,16,14,15,5); // 月份從0~11

  6. new Date(2016,8,16);

  7. new Date(1474006780);