JS 日期操作代码,获取当前日期,加一天,减一天
作者:bea
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-type" content="text
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html; charset=gb2312" />
<title>title</title>
<body id="" onload="">
<input type="text" id="date" />
<input type="button" value="加" id="Add" />
<input type="button" value="减" id="Minus" />
<script type="text/javascript">
$ = function(o) { return typeof o === 'string' ? document.getElementById(o) : o };
//设置当前日期
var ma = [['1','3','5','7','8','10'],['4','6','9','11']];
var dd = new Date();
var x = dd.toLocaleString();
var o = pasDate(x);
$('date').value = o.join('-');
//转化日期函数
function pasDate(da) {
var yp = da.indexOf('年'),
mp = da.indexOf('月'),
dp = da.indexOf('日');
var y = da.substr(0,yp),
m = da.substr(yp + 1,mp - yp - 1),
d = da.substr(mp + 1,dp - mp - 1);
return [y,m,d];
}
//判断数组a是否存在在元素n
function check(n,a) {
for(var i = 0,len = a.length;i < len;i++) {
if(a[i] == n) {
return true;
}
}
return false;
}
//闰?年?
function isLeap(y) {
return ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) ? true : false;
}
//实现加减f:'1'加,'0'减
function trans(o,f) {
var d = o.split('-');
var l = isLeap(d[0]);
if(f == '1') {
if((check(d[1],ma[0]) && (d[2] == '31')) || (check(d[1],ma[1]) && (d[2] == '30')) ||
(d[1] == '2' && d[2] == '28' && !l) || (d[1] == '2' && d[2] == '29' && l)) {
return d[0] + '-' + (d[1] * 1 + 1) + '-' + 1;
} else if(d[1] == '12' && d[2] == '31') {
return (d[0] * 1 + 1) + '-' + '1-1';
} else {
return d[0] + '-' + d[1] + '-' + (d[2] * 1 + 1);
}
} else if(f == '0') {
if(check(d[1] - 1,ma[0]) && (d[2] == '1')) {
return d[0] + '-' + (d[1] - 1) + '-' + '31';
} else if(check(d[1] - 1,ma[1]) && (d[2] == '1')) {
return d[0] + '-' + (d[1] - 1) + '-' + '30';
} else if(d[1] == '1' && d[2] == '1') {
return (d[0] - 1) + '-' + '12-31';
} else if(d[1] == '3' && d[2] == '1' && !l) {
return d[0] + '-' + '2-28';
} else if(d[1] == '3' && d[2] == '1' && l) {
return d[0] + '-' + '2-29';
} else {
return d[0] + '-' + d[1] + '-' + (d[2] - 1);
}
} else {
return;
}
}
$('Add').onclick = function() {
var v = $('date').value;
$('date').value = trans(v,'1');
}
$('Minus').onclick = function() {
var v = $('date').value;
$('date').value = trans(v,'0');
}
</script>
</body>
</head>
</html>
[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行]
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- javascript和jquery分别实现的九九乘法表代码
- [原创]js获取数组任意个不重复的随机数组元素
- javascript 用记忆函数快速计算递归函数
- JS 密码强度验证(兼容IE,火狐,谷歌)
- javascript css styleFloat和cssFloat
- javascript 正则表达式触发函数进行高级替换
- javascript 嵌套的函数(作用域链)
- JavaScript 嵌套函数指向this对象错误的解决方法
- javascript之嵌套函数使用方法
- JQuery 常用操作代码
- Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
- Jquery cookie操作代码
- javascript 解决表单仍然提交即使监听处理函数返回false
- jQuery第三课 修改元素属性及内容的代码
- jQuery 第二课 操作包装集元素代码
- jQuery入门第一课 jQuery选择符
- javascript 图片轮换显示效果代码
- 使用JavaScript switch case 另类写法
- 两个JavaScript jsFiddle JSBin在线调试器