JS時間格式和時間戳的相互轉換

時間戳轉化爲日期的方式html

 

var timestamp = 1527521052;
 
var newDate = new Date();
 
newDate.setTime(timestamp * 1000);
 
// Mon May 28 2018
console.log(newDate.toDateString());
 
// Mon, 28 May 2018 15:24:12 GMT
console.log(newDate.toGMTString());
 
// 2018-05-28T15:24:12.000Z
console.log(newDate.toISOString());
 
// 2018-05-28T15:24:12.000Z
console.log(newDate.toJSON());
 
// 2018/5/28
console.log(newDate.toLocaleDateString());
 
// 2018/5/28 下午11:24:12
console.log(newDate.toLocaleString());
 
// 下午11:24:12
console.log(newDate.toLocaleTimeString());
 
// Mon May 28 2018 23:24:12 GMT+0800 (中國標準時間)
console.log(newDate.toString());
 
// 23:24:12 GMT+0800 (中國標準時間)
console.log(newDate.toTimeString());
 
// Mon, 28 May 2018 15:24:12 GMT
console.log(newDate.toUTCString());

 

 

 

1.JS獲取當前時間( 年-月-日 時:分:秒):ajax

function getNowFormatDate() {//獲取當前時間
  var date = new Date();
  var seperator1 = "-";
  var seperator2 = ":";
  var month = date.getMonth() + 1<10? "0"+(date.getMonth() + 1):date.getMonth() + 1;
  var strDate = date.getDate()<10? "0" + date.getDate():date.getDate();
  var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
    + " " + date.getHours() + seperator2 + date.getMinutes() + seperator2 + date.getSeconds();
  return currentdate;
}

2.JS獲取當前時間戳的方法服務器

 

//方法一
var timestamp = (new Date()).getTime();
console.log(timestamp); //1495302061441

//方法二
var timestamp2 = (new Date()).valueOf();
console.log(timestamp2); //1495302061447

//方法三
var timestamp3 = Date.parse(new Date());
console.log(timestamp3);//1495302061000

第一種和第二種是獲取了當前毫秒的時間戳
最後一種獲取的時間戳是把毫秒改爲000顯示

 

 

 

3.時間戳轉化成時間格式async

 

!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Date.prototype.Format=function(e){var t="";switch(this.getDay()){case 0:t="星期日";break;case 1:t="星期一";break;case 2:t="星期二";break;case 3:t="星期三";break;case 4:t="星期四";break;case 5:t="星期五";break;case 6:t="星期六"}var n={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),w:t};for(var r in/(y+)/.test(e)&&(e=e.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length))),n)new RegExp("("+r+")").test(e)&&(e=e.replace(RegExp.$1,1==RegExp.$1.length?n[r]:("00"+n[r]).substr((""+n[r]).length)));return e}}return r(e,[{key:"convert",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"y-m-d h:m:s";return"y-m-d h:m:s"==t?new Date(e).Format("yyyy-MM-dd hh:mm:ss"):"y-m-d"==t?new Date(e).Format("yyyy-MM-dd"):new Date(e).Format(t)}},{key:"getAppointDate",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments[2],r=new Date,o=this.convert(r,n);if("w"==e){var a=new Date(r-6048e5*t);o=this.convert(a,n)}else"m"==e?(r.setMonth(r.getMonth()-t),o=this.convert(r,n)):"y"==e&&(r.setYear(r.getFullYear()-t),o=this.convert(r,n));return o}}]),e}();window.dateConvert=o}]);

//    調用構造函數
let DC = window.dateConvert;
//    實例化
let dateFun = new DC()
//    經常使用方法的簡寫
let dateVal1 = dateFun.convert(new Date(),'y-m-d');//2019-05-23
let dateVal2 = dateFun.convert(new Date(),'y-m-d h:m:s');//2019-05-23 17:17:42
//    常規方法示例
let dateVal3 = dateFun.convert(1323122444323,'yyyy-MM-dd hh:mm:ss w');//2011-12-06 06:00:44 星期二
let dateVal4 = dateFun.convert(new Date(),'yyyy-MM-dd hh:mm:ss w');//2019-05-23 17:17:42 星期四
let dateVal5 = dateFun.convert(new Date(),'yyyy-MM-dd hh:mm:ss');//2019-05-23 17:17:42
let dateVal6 = dateFun.convert(new Date(),'yyyy-MM-dd');//2019-05-23
let dateVal7 = dateFun.convert(new Date(),'w');//星期四
let dateVal8 = dateFun.convert(new Date(),'MM');//05月
let dateVal9 = dateFun.convert(new Date(),'yyyy');//年份
console.log(dateVal1);
console.log(dateVal2);
console.log(dateVal3);
console.log(dateVal4);
console.log(dateVal5);
console.log(dateVal6);
console.log(dateVal7);
console.log(dateVal8);
console.log(dateVal9);


// 時間設置函數

  function getLocalTime(i) {
    if (typeof i !== "number") {
    return new Date();
  }
    var d = new Date();
    var len = d.getTime();
    var offset = d.getTimezoneOffset() * 60000;
    var utcTime = len + offset;
    return new Date(utcTime + 3600000 * i);
}this


  var timezone = -2; // 時區 : 東區時區1~12 西區時區-1~-12
    var date;spa

    date = getLocalTime(timezone).toString().split("GMT+")[0].toString();
    $("#showdate").html(date);
    let dateVal2 = dateFun.convert(date,'y-m-d h:m:s');
    console.log(dateVal2)prototype

 

4.比對時間大小code

//時間大小比對
    function checkDate(date1, date2) {
        var oDate1 = new Date(date1);
        var oDate2 = new Date(date2);
        if (oDate1.getTime() >= oDate2.getTime()) {
            return false;
        } else {
            return true;
        }
    }
console.log(checkDate('2018-09-10 11:12:12', '2019-12-15 12:12:12'))  //ture

 

5.校驗時間格式orm

//驗證時間格式
    function strDateTime(str) {
        var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
        var r = str.match(reg);
        if (r == null) return false;
        var d = new Date(r[1], r[3] - 1, r[4], r[5], r[6], r[7]);
        return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[6] && d.getSeconds() == r[7]);
    }

 

6.時間轉換時間戳

// 也很簡單
function timestamp(strtime){

var date = new Date(strtime); 
//傳入一個時間格式,若是不傳入就是獲取如今的時間了,這樣作不兼容火狐。
// Date()參數形式有7種
// new Date("month dd,yyyy hh:mm:ss");=>new Date("September 16,2016 14:15:05");
// new Date("month dd,yyyy");=>new Date("September 16,2016");
// new Date("yyyy/MM/dd hh:mm:ss");=>new Date("2016/09/16 14:15:05");
// new Date("yyyy/MM/dd");=>new Date("2016/09/16");
// new Date(yyyy,mth,dd,hh,mm,ss);=>new Date(2016,8,16,14,15,5); => 月份從0~11
// new Date(yyyy,mth,dd);=>new Date(2016,8,16);
// new Date(ms);=>new Date(1474006780);
// 能夠這樣作
var date = new Date(strtime.replace(/-/g, '/'));
 
// 有三種方式獲取,在後面會講到三種方式的區別
time1 = date.getTime();//精確到毫秒:1398250549123
time2 = date.valueOf();//精確到毫秒:1398250549123
time3 = Date.parse(date);//只能精確到秒,毫秒將用0來代替:1398250549000
console.log(time1,time2,time3)//1398250549012 1398250549012 1398250549000
return time1;
}
console.log(timestamp('2014-04-23 18:55:49:12'))//1398250549012

 7.new Date()轉時間格式(yyyy-MM-dd hh:mm:ss格式,簡單版)

Date.prototype.format = function(fmt) { 
     var o = { 
        "M+" : this.getMonth()+1,                 //月份
        "d+" : this.getDate(),                    //
        "h+" : this.getHours(),                   //小時
        "m+" : this.getMinutes(),                 //
        "s+" : this.getSeconds(),                 //
        "q+" : Math.floor((this.getMonth()+3)/3), //季度
        "S"  : this.getMilliseconds()             //毫秒
    }; 
    if(/(y+)/.test(fmt)) {
            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
    }
     for(var k in o) {
        if(new RegExp("("+ k +")").test(fmt)){
             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
         }
     }
    return fmt; 
}        
var times = new Date('Fri May 31 2019 11:51:47 ').format("yyyy-MM-dd hh:mm:ss");
console.log(times)//2019-05-31 11:51:47

 8.js獲取服務器當前時間,而非系統時間

  

Date.prototype.format = function(fmt) { 2
     var o = { 
        "M+" : this.getMonth()+1,                 //月份
        "d+" : this.getDate(),                    //
        "h+" : this.getHours(),                   //小時
        "m+" : this.getMinutes(),                 //
        "s+" : this.getSeconds(),                 //
        "q+" : Math.floor((this.getMonth()+3)/3), //季度
        "S"  : this.getMilliseconds()             //毫秒
    }; 
    if(/(y+)/.test(fmt)) {
            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
    }
     for(var k in o) {
        if(new RegExp("("+ k +")").test(fmt)){
             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
         }
     }
    return fmt; 
}     
function getServerDate(){
    return new Date($.ajax({async: false}).getResponseHeader("Date"));
}
 console.log(getServerDate());   
function getLocalTime(i) {
    if (typeof i !== "number") {
    return new Date();
      }
    var d = getServerDate();
    var len = d.getTime();
    var offset = d.getTimezoneOffset() * 60000;
    var utcTime = len + offset;
    return new Date(utcTime + 3600000 * i);
}

/*
    **@parmas**


*/
function eachAreaTime(Tzone){
     var timezone = Tzone; // 時區 : 東區時區1~12 西區時區-1~-12
    var date,localTime;
    date = getLocalTime(timezone).toString().split("GMT+")[0].toString();
        localTime =new Date(date).format("yyyy-MM-dd hh:mm:ss");
        return localTime;
}
console.log('北京,菲律賓,馬來西亞,臺灣時間',eachAreaTime(8));
console.log('印度時間',eachAreaTime(5.5));
console.log('印尼,泰國,越南時間',eachAreaTime(7))

  Fri May 31 2019 23:24:49 GMT+0800 (中國標準時間)  VM311:48 北京,菲律賓,馬來西亞,臺灣時間 2019-05-31 23:24:49  VM311:49 印度時間 2019-05-31 20:54:49  VM311:50 印尼,泰國,越南時間 2019-05-31 22:24:49

相關文章
相關標籤/搜索