js中時間戳與日期時間之間的相互轉換


  1、時間戳轉換為標准日期時間格式:

function timeFormat(dateStr) {
        var date = new Date(dateStr);
        Y = date.getFullYear() + '-';
        M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
        D = date.getDate() + ' ';
        h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
        m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
        s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
        return Y+M+D+h+m+s;
    }

  返回的日期時間格式為:"yyyy-MM-dd HH:mm:ss",解析如下:

// 簡單的一句代碼
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)

  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種

new Date("month dd,yyyy hh:mm:ss");
new Date("month dd,yyyy");
new Date("yyyy/MM/dd hh:mm:ss");
new Date("yyyy/MM/dd");
new Date(yyyy,mth,dd,hh,mm,ss);
new Date(yyyy,mth,dd);
new Date(ms);

  比如:

new Date("September 16,2016 14:15:05");
new Date("September 16,2016");
new Date("2016/09/16 14:15:05");
new Date("2016/09/16");
new Date(2016,8,16,14,15,5); // 月份從0~11
new Date(2016,8,16);
new Date(1474006780);

  轉載:https://www.jb51.net/article/130303.htm


免責聲明!

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



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