js中有什么方法能把获取的本地时分秒转化成毫秒

JavaScript014

js中有什么方法能把获取的本地时分秒转化成毫秒,第1张

JS原生态的针对日期时间的方法中,没有直接将分和秒转换为毫秒的。

它的getMilliSeconds也是获取当前时间的毫秒数。所以我们需要自己做一个转换。

可以用getMinutes和getSeconds先获取到相应的分和秒,然后将分*60*1000+秒 * 1000即可转换了。

1. 将日期转换为指定的格式:比如转换成 年月日时分秒 这种格式:yyyy-MM-dd hh:mm:ss 或者 yyyy-MM-dd。当然是网上的方法,只是总结下。

可以为Date原型添加如下的方法:

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 time1 = new Date().format("yyyy-MM-dd hh:mm:ss")

console.log(time1)

function formatDate(){

var milliseconds=2698169*1000//秒变微秒

var dat = new Date(milliseconds)//生成日期

var year = dat.getFullYear()//取得年

var month = dat.getMonth()+1 //取得月,js从0开始取,所以+1

var date1 = dat.getDate()//取得天

var hour = dat.getHours()//取得小时

var minutes = dat.getMinutes()//取得分钟

var second = dat.getSeconds()//取得秒

alert(dat+" | "+year+"年"+month+"月"+date1+"日"+hour+"时"+minutes +"分"+second+"秒" )

}