javascript 操作日期 测试(注意浏览器兼容问题)
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml" >
3
<head>
4
<title>javascript 操作日期 测试</title>
5
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6
<META HTTP-EQUIV="REFRESH" CONTENT="11; URL=http://www.dusystem.com/index.htm"> 2006-03-12 designer Geovin Du-->
7
<meta name="description" content="涂聚文,缔友计算机信息技术有限公司,经营信息流,物流,人力资源流,资本流的系统解决方案的开发与设计和服务,geoVI studio.Geovin Du. Systems Solution to Fund flow,and Information flow,and Material flow,and Control flow,and Human Resource.Applied software development,design and service。.">
8
<meta name="description" content="Study,Communicate。 ">
9
<meta name="Robots" content="all index follow ">
10
<meta name="Author" content="涂聚文" />
11
<link rel="shortcut icon" href="http://www.dusystem.com/favicon.ico" type="image/x-icon" />
12
<link rel="icon" href="http://www.dusystem.com/favicon.ico" type="image/ico" />
13
<link rel="Bookmark" href="http://www.dusystem.com/favicon.ico">
14
<script language="JavaScript">
15
//此代碼,在IE6上不兼容,FireFox可以。
16
function DateAdd(strInterval, NumDay, dtDate) {
17
18
var dtTmp = new Date(dtDate);
19
20
if (isNaN(dtTmp)) dtTmp = new Date();
21
22
switch (strInterval) {
23
24
case "s":
25
26
dtTmp = new Date(Date.parse(dtTmp) + (1000 * parseInt(NumDay)));
27
28
break;
29
30
case "n":
31
32
dtTmp = new Date(Date.parse(dtTmp) + (60000 * parseInt(NumDay)));
33
34
break;
35
36
case "h":
37
38
dtTmp = new Date(Date.parse(dtTmp) + (3600000 * parseInt(NumDay)));
39
40
break;
41
42
case "d":
43
44
dtTmp = new Date(Date.parse(dtTmp) + (86400000 * parseInt(NumDay)));
45
46
break;
47
48
case "w":
49
50
dtTmp = new Date(Date.parse(dtTmp) + ((86400000 * 7) * parseInt(NumDay)));
51
52
break;
53
54
case "m":
55
56
dtTmp = new Date(dtTmp.getFullYear(), (dtTmp.getMonth())+parseInt(NumDay), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
57
58
break;
59
60
case "y":
61
62
//alert(dtTmp.getFullYear());
63
64
dtTmp = new Date(dtTmp.getFullYear()+parseInt(NumDay), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
65
66
//alert(dtTmp);
67
68
break;
69
70
}
71
72
var mStr=new String(dtTmp.getMonth()+1);
73
74
var dStr=new String(dtTmp.getDate());
75
76
if (mStr.length==1){
77
78
mStr="0"+mStr;
79
80
}
81
82
if (dStr.length==1){
83
84
dStr="0"+dStr;
85
86
}
87
//這個日期年份,一定要用getFullYear(),這樣兼容所有瀏覽器。寫軟件的人員,一定要自己測試一下。否則,日期顯示無效 塗聚文注
88
return dtTmp.getFullYear()+"-"+mStr+"-"+dStr;
89
90
}
91
92
</script>
93
94
<script language="JavaScript">
95
96
function calculate(type)
97
98
{
99
100
var entry = document.getElementById(type).value;//自己判断是否合法
101
102
var uValue=document.form.u.value;
103
104
uValue=uValue.replace("-","/").replace("-","/");
105
106
//alert(uValue);
107
108
109
//document.form.age1.value=age;
110
111
document.form.twice.value = DateAdd(type,entry,uValue);
112
113
}
114
function strToDate(str)
115
{
116
var val=Date.parse(str);
117
var newDate=new Date(val);
118
return newDate;
119
}
120
function strToDate1(str)
121
{
122
var arys= new Array();
123
arys=str.split('-');
124
var newDate=new Date(arys[0],arys[1],arys[2]);
125
return newDate;
126
}
127
function agedem()
128
{
129
130
var age,d,f,g,s,k,t,h;
131
d=new Date();
132
age=d.getFullYear();
133
s=new Date();
134
s=s.getUTCDay();
135
document.form.age3.value=s;
136
k=new Date();
137
k=k.getDay();
138
document.form.age4.value=k;
139
g=new Date();
140
f=g.getUTCFullYear();
141
document.form.age2.value=f;
142
t=document.form.u.value;
143
//用以替换FireFox浏览器不兼容的日期格式 否則,日期顯示無效 涂聚文
144
t=t.replace("-","/").replace("-","/");
145
//t=str.split('-');
146
// t=Date.parse(t);
147
h=new Date(t)
148
// h=new Date(t[0],t[1],t[2]);
149
150
h=h.getFullYear();
151
document.form.age5.value=h;
152
//计算年份差
153
document.form.age6.value=f-h
154
//alert(f);
155
}
156
157
var nextYear = new Date(); // 初始化日期对象
158
159
nextyear.setYear(nextYear.getYear() + 1); // 增加1年
160
</script>
161
<script type="text/javascript">
162
163
<!--
164
165
var m_names = new Array("January", "February", "March",
166
"April", "May", "June", "July", "August", "September",
167
"October", "November", "December");
168
169
var d = new Date();
170
var curr_date = d.getDate();
171
var curr_month = d.getMonth();
172
var curr_year = d.getFullYear();
173
document.write(curr_date + "-" + m_names[curr_month]
174
+ "-" + curr_year);
175
176
/* The last two lines above have
177
to placed on a single line */
178
179
//-->
180
</script>
181
<html>
182
<head>
183
<title>Javascript Convert String to Date</title>
184
</head>
185
<body>
186
187
<script type="text/javascript">
188
189
var dateString = "03-20-2008"; //因为不作条件考虑,不可以兼容
190
// var dateString = "03/20/2008"; mm/dd/yyyy [IE, FF]
191
// You can also try the following Date string formats
192
// var dateString = "2008/03/20"; // yyyy/mm/dd [IE, FF]
193
// var dateString = "03-20-2008"; // mm-dd-yyyy [IE only]
194
// var dateString = "March 20, 2008"; // mmmm dd, yyyy [IE, FF]
195
// var dateString = "Mar 20, 2008"; // mmm dd, yyyy [IE, FF]
196
197
// Initalize the Date object by passing the date string variable
198
var myDate = new Date(dateString);
199
200
// get Date part from the date string
201
document.write("Date : " + myDate.getDate());
202
document.write("<br>");
203
204
// get Month part from the date string
205
document.write("Month : " + myDate.getMonth());
206
document.write("<br>");
207
208
// get Full Year from the date string
209
document.write("Year : " + myDate.getFullYear());
210
</script>
211
212
</body>
213
</html>
214
</head>
215
216
<body bgcolor="#FFFFFF">
217
<form name="form" action="" method="post"><TR>
218
219
<TD>要加的日期2:</TD>
220
221
<TD><input type="text" name="u" value="2005-03-20" onblur="agedem()" onclick="agedem()"></TD>
222
223
</TR>
224
225
<TR>
226
227
<TD>结果2:</TD>
228
229
<TD><input name="twice"><br><input name="age1"><input name="age2"/><input name="age3"/><input name="age4"/><input name="age5"/>日期差(年龄)<input name="age6"/></TD>
230
231
</TR>--> </TABLE>
232
233
</form>
234
</body>
235
</html>

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

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)
分类:
Ajax&JavaScript
标签:
JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!