你好,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里面怎么把时间类型转换成字符串方法一:
var temper="2009-6-28 15:23"
var dt = new Date(temper.replace(/-/,"/"))
alert(dt)
方法二:
function ConvertDateFromString(dateString) {
if (dateString) {
var arr1 = dateString.split(" ")
var sdate = arr1[0].split('-')
var date = new Date(sdate[0], sdate[1], sdate[2])
return date
}
}
获得一个月中的总天数:
function GetDayInMonth(day) {
var today = day
var year = today.getFullYear()
if (year <2000) year += 1900// Y2K fix
var month = today.getMonth()
var monarr = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
if (((year % 4 == 0) &&(year % 100 != 0)) || (year % 400 == 0))
monarr[1] = 29
return monarr[month]
}