js日期转换成字符串

JavaScript026

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 

}

一.js将时间转换成时间戳

1.js获取当前时间戳的方法

?

1

2

3

var timestamp1 = Date.parse(new Date())

var timestamp2 = (new Date()).valueOf()

var timestamp3 = new Date().getTime()

第一种:获取的时间戳是把毫秒改成000显示,第二种和第三种是获取了当前毫秒的时间戳。

2.js获取制定时间戳的方法

?

1

2

var oldTime = (new Date("2015/06/23 08:00:20")).getTime()/1000

getTime()返回数值的单位是毫秒。

二.js把时间戳转为为普通日期格式

1.Date toLocaleString方法

?

1

2

3

function getLocalTime(nS) {

return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ')

}

parseInt() 函数可解析一个字符串,并返回一个整数。

js中时间操作单位是毫秒。

toLocaleString() 方法可根据本地时间把 Date 对象转换为字符串,并返回结果。

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

replace(/:\d{1,2}$/,' ')验证替换以:开始有一位或二位数字的结束字符串,就是秒;替换为空

显示如下:

所以我们可以利用正则表达式改变我们想要的日期格式。

2.Date 属性方法

?

1

2

3

4

5

6

7

8

9

10

11

12

13

function add0(m){return m<10?'0'+m:m }

function format(shijianchuo)

{

//shijianchuo是整数,否则要parseInt转换

var time = new Date(shijianchuo)

var y = time.getFullYear()

var m = time.getMonth()+1

var d = time.getDate()

var h = time.getHours()

var mm = time.getMinutes()

var s = time.getSeconds()

return y+'-'+add0(m)+'-'+add0(d)+' '+add0(h)+':'+add0(mm)+':'+add0(s)

}

三.封装的时间格式器

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

/**

* 和PHP一样的时间戳格式化函数

* @param {string} format 格式

* @param {int} timestamp 要格式化的时间 默认为当前时间

* @return {string} 格式化的时间字符串

*/

function date(format, timestamp){

var a, jsdate=((timestamp) ? new Date(timestamp*1000) : new Date())

var pad = function(n, c){

if((n = n + "").length <c){

return new Array(++c - n.length).join("0") + n

} else {

return n

var date = new Data()

var year = date.getFullYear()

还有其他的一些获取年月日、时分秒、星期等的可以参考Date 对象方法