javascript - js 關(guān)于時(shí)間的轉(zhuǎn)換以及時(shí)間的加減。
問題描述
一、關(guān)于時(shí)間的轉(zhuǎn)換
默認(rèn)
mounted () { this.HomePageDisplay(); var myDate = new Date(); var reg=/[u4E00-u9FA5]/g; this.latestS=myDate.toLocaleString().replace(///g,’-’).replace(/:/g,’-’).replace(/[ ]/g,'').replace(reg,’’); console.log(this.latestS)},
這個(gè)我是轉(zhuǎn)換的。
我想要的是 2017-07-05-04 。。
二、關(guān)于時(shí)間的加減。
1、2017-07-05-04 減去10個(gè)小時(shí)。 格式不變。。2、 當(dāng)前的小時(shí)減去10個(gè)小時(shí)。。 下面代碼我寫的。 給自己蠢哭了。 求指點(diǎn)。。
var timeData = [ myDate.getHours()-10, myDate.getHours()-9, myDate.getHours()-8, myDate.getHours()-7, myDate.getHours()-6, myDate.getHours()-5, myDate.getHours()-4, myDate.getHours()-3, myDate.getHours()-2, myDate.getHours()-1, myDate.getHours(), ];
問題解答
回答1:關(guān)于時(shí)間的處理,建議引入 moment 庫。http://momentjs.com/docs/#/pa...
var t = moment().format(’YYYY-MM-DD-HH’);console.log(t); //2017-07-03-18var tsub = moment(t, ’YYYY-MM-DD-HH’).subtract(10, ’hours’).format(’YYYY-MM-DD-HH’);console.log(tsub); //2017-07-03-08回答2:
需要2017-03-14-04-50-08這樣的格式的話:
var str = ’2017/3/14 下午4:50:08’;var arr = str.split(/[ ^d ]+/g).map(item => (parseInt(item, 10) < 10 ? ’0’ + parseInt(item, 10) : item )).join(’-’);console.log(arr);
至于時(shí)間的加減的話,如樓上所言,項(xiàng)目引入moment.js等庫其實(shí)挺好的。
回答3:Date.prototype.format = function(fmt) { var o = { 'M+' : this.getMonth()+1, //月份 'd+' : this.getDate(), //日 'h+' : this.getHours(), //小時(shí) '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; }new Date().format('yyyy-MM-dd hh:mm:ss');//'2017-07-03 17:01:35'加減法用總的毫秒數(shù)計(jì)算,然后在轉(zhuǎn)化成時(shí)間。 回答4:
Date.prototype.past = function(pattern, pastDays) {
function zeroize(num) { return num < 10 ? '0' + num : num;};var pastday = new Date((this - 0) - 1000 * 60 * 60 * 24 * pastDays);var pattern = pattern; // YYYY-MM-DD 或 MM-DD-YYYY 或 YYYY-MM-DD , hh : mm : ssvar dateObj = { 'Y': pastday.getFullYear(), 'M': zeroize(pastday.getMonth() + 1), 'D': zeroize(pastday.getDate()), 'h': zeroize(pastday.getHours()), 'm': zeroize(pastday.getMinutes()), 's': zeroize(pastday.getSeconds())};return pattern.replace(/YYYY|MM|DD|hh|mm|ss/g, function(match) { switch (match) {case 'YYYY': return dateObj.Y;case 'MM': return dateObj.M;case 'DD': return dateObj.D;case 'hh': return dateObj.h;case 'mm': return dateObj.m;case 'ss': return dateObj.s; };});
};var timeEnd = new Date();timeEnd = timeEnd.getFullYear() + ’/’ + (timeEnd.getMonth() + 1) + ’/’ + timeEnd.getDate() + ’ ’ + timeEnd.getHours() + ’:’ + timeEnd.getMinutes();你的意思是當(dāng)前時(shí)間往前推10分鐘,new Date(timeEnd).past(’YYYY-MM-DD hh : mm : ss’, 1/(24*6));
相關(guān)文章:
1. javascript - 按鈕鏈接到另一個(gè)網(wǎng)址 怎么通過百度統(tǒng)計(jì)計(jì)算按鈕的點(diǎn)擊數(shù)量2. sql語句 - 如何在mysql中批量添加用戶?3. mysql 可以從 TCP 連接但是不能從 socket 鏈接4. mysql - PHP定時(shí)通知、按時(shí)發(fā)布怎么做?5. 怎么php怎么通過數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。6. mysql - JAVA怎么實(shí)現(xiàn)一個(gè)DAO同時(shí)實(shí)現(xiàn)查詢兩個(gè)實(shí)體類的結(jié)果集7. 事務(wù) - mysql共享鎖lock in share mode的實(shí)際使用場(chǎng)景8. mysql建表索引問題求助9. mysql - 數(shù)據(jù)庫建字段,默認(rèn)值空和empty string有什么區(qū)別 11010. mysql 非主鍵做范圍查找實(shí)現(xiàn)原理的一點(diǎn)困惑
