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) // 得到 20140712function 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