您的位置:首页技术文章
文章详情页

javascript - js 关于时间的转换以及时间的加减。

浏览:43日期:2023-04-05 17:56:38

问题描述

一、关于时间的转换

默认

javascript - js 关于时间的转换以及时间的加减。

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)},

javascript - js 关于时间的转换以及时间的加减。 这个我是转换的。

我想要的是 2017-07-05-04 。。

二、关于时间的加减。

1、2017-07-05-04 减去10个小时。 格式不变。。2、 当前的小时减去10个小时。。 下面代码我写的。 给自己蠢哭了。 求指点。。

javascript - js 关于时间的转换以及时间的加减。javascript - js 关于时间的转换以及时间的加减。

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:

关于时间的处理,建议引入 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);

至于时间的加减的话,如楼上所言,项目引入moment.js等库其实挺好的。

回答3:

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; }new Date().format('yyyy-MM-dd hh:mm:ss');//'2017-07-03 17:01:35'加减法用总的毫秒数计算,然后在转化成时间。 回答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();你的意思是当前时间往前推10分钟,new Date(timeEnd).past(’YYYY-MM-DD hh : mm : ss’, 1/(24*6));

标签: JavaScript
相关文章: