我编写的用js获取的系统时间,但是我获取的早上的时间是8:00,我想要获取时间为08:00,这要怎么写呢

JavaScript023

我编写的用js获取的系统时间,但是我获取的早上的时间是8:00,我想要获取时间为08:00,这要怎么写呢,第1张

Date.prototype.format = function(format){

var o = {

"M+" : this.getMonth()+1, //month

"d+" : this.getDate(), //day

"h+" : this.getHours(),//hour

"m+" : this.getMinutes(), //minute

"s+" : this.getSeconds(), //second

"q+" : Math.floor((this.getMonth()+3)/3), //quarter

"S" : this.getMilliseconds() //millisecond

}

if(/(y+)/.test(format)) {

format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length))

}

for(var k in o) {

if(new RegExp("("+ k +")").test(format)) {

format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length))

}

}

return format

}

new Date().format("hh:mm")//就是你想要的结果

首先,你这里的日期'20140711' 不是标准的日期格式,js不认识,想要使用 new Date() 得到日期,可以把 '20140711' 格式化成js能认识的格式。如: 2014-07-11

先加转换成日期类型,然后加1天,再格式化成你要的格式。

// @param sDate yyyyMMdd格式的日期字符串

// @param days 要加上的天数

function afterNDays(sDate, days) {

    if(!sDate) return ''

    // 默认1天

    days = days || 1

    // 如果 sDate 的这个格式是不变的,那么可以使用一些方法得到 yyyy-MM-dd 这样的格式

    // 得到年部分

    var y = sDate.substring(0, 4)

    // 得到月部分

    var m = sDate.substring(4, 6)

    // 得到日部分

    var d = sDate.substring(6, 8)

    var dDate = new Date(y + '-' + m + '-' + d)

    dDate.setDate(dDate.getDate() + 1)

    // 如果想得到原来的格式,那么需要手动设置格式

    y = dDate.getFullYear()

    m = dDate.getMonth() + 1

    d = dDate.getDate()

    // 返回  yyyyMMdd格式

    return y + (m < 10 ? '0' + m : m) + (d < 10 ? '0' + d : d)

}

调用方法:

afterNDays('20140711', 1) // 得到 20140712

function GetDayClk() {

  var dv = new Date(), y = dv.getFullYear(), m = dv.getMonth() + 1, d = dv.getDate(), s = '' + y + (m >= 10 ? m : '0' + m)

+ (d >= 10 ? d : '0' + d)

  window.alert(s)

}

用getFullYear, getMonth, getDate分别获得Date对象的年份,月份(注意月份从0开始的),日期,然后组成一个字符串就可以了。或者直接做成数字:

var s = y * 10000 + m * 100 + d