你好,js中Date类没有直接格式化的方法,所以需要自己写,你只需将下列代码在格式化前加入,即可使用。代码摘自http://www.jb51.net/article/22657.htm。使用方法如下:new Date().format('yyyyMMdd')
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
}
给你提供个栗子可以参考下:
javascript时间戳和日期字符串相互转换代码
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html charset=utf-8" />
<script type="text/javascript">
// 获取当前时间戳(以s为单位)
var timestamp = Date.parse(new Date())
timestamp = timestamp / 1000
//当前时间戳为:1403149534
console.log("当前时间戳为:" + timestamp)
// 获取某个时间格式的时间戳
var stringTime = "2014-07-10 10:21:12"
var timestamp2 = Date.parse(new Date(stringTime))
timestamp2 = timestamp2 / 1000
//2014-07-10 10:21:12的时间戳为:1404958872
console.log(stringTime + "的时间戳为:" + timestamp2)
// 将当前时间换成时间格式字符串
var timestamp3 = 1403058804
var newDate = new Date()
newDate.setTime(timestamp3 * 1000)
// Wed Jun 18 2014
console.log(newDate.toDateString())
// Wed, 18 Jun 2014 02:33:24 GMT
console.log(newDate.toGMTString())
// 2014-06-18T02:33:24.000Z
console.log(newDate.toISOString())
// 2014-06-18T02:33:24.000Z
console.log(newDate.toJSON())
// 2014年6月18日
console.log(newDate.toLocaleDateString())
// 2014年6月18日 上午10:33:24
console.log(newDate.toLocaleString())
// 上午10:33:24
console.log(newDate.toLocaleTimeString())
// Wed Jun 18 2014 10:33:24 GMT+0800 (中国标准时间)
console.log(newDate.toString())
// 10:33:24 GMT+0800 (中国标准时间)
console.log(newDate.toTimeString())
// Wed, 18 Jun 2014 02:33:24 GMT
console.log(newDate.toUTCString())
Date.prototype.format = function(format) {
var date = {
"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+)/i.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
}
for (var k in date) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1
? date[k] : ("00" + date[k]).substr(("" + date[k]).length))
}
}
return format
}
console.log(newDate.format('yyyy-MM-dd h:m:s'))
</script>
如果有不明白的地方请及时追问.
js中将日期转换成字符串,如下操作:定义日期: Date 对象用于处理日期和时间。 可以通过 new 关键词来定义 Date 对象。以下代码定义了名为 myDate 的 Date 对象: var myDate=new Date() 注释:Date 对象自动使用当前的日期和时间作为其初始值。 var myDate=new Date(2013-1-10) Javascript 获取当前时间戳(毫秒级别): 第一种方法:var timestamp1 = Date.parse( new Date())结果:1372751992000 第二种方法:var timestamp2 = ( new Date()).valueOf()结果:1372751992066 第三种方法:var timestamp3 = new Date().getTime()结果:1372751992066 alert(timestamp1)alert(timestamp2)alert(timestamp3)备注:第一种获取的时间戳是把毫秒改成000显示,第二种和第三种是获取了当前毫秒的时间戳。