js日期转换成字符串

JavaScript010

js日期转换成字符串,第1张

你好,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]

}