JS当前日期相加相减
function DateAddORSub(interval,type,number)
{
/*
* 功能:实现Script的Date加减功能.
* 参数:interval,字符串表达式,表示要添加的时间间隔.
* 参数:number,数值表达式,表示要添加的时间间隔的个数.
* 参数:type,加减类型.
* 返回:新的时间对象.
* var newDate =DateAddORSub("d","+",5);
*/
var date = new Date();
switch(interval)
{
case "y" : {
if(type=="+"){
date.setFullYear(date.getFullYear()+number);
}else{
date.setFullYear(date.getFullYear()-number);
}
return date;
break;
}
case "q" : {
if(type=="+"){
date.setMonth(date.getMonth()+number*3);
}else{
date.setMonth(date.getMonth()-number*3);
}
return date;
break;
}
case "m" : {
if(type=="+"){
date.setMonth(date.getMonth()+number);
}else{
date.setMonth(date.getMonth()-number);
}
return date;
break;
}
case "w" : {
if(type=="+"){
date.setDate(date.getDate()+number*7);
}else{
date.setDate(date.getDate()-number*7);
}
return date;
break;
}
case "d" : {
if(type=="+"){
date.setDate(date.getDate()+number);
}else{
date.setDate(date.getDate()-number);
}
return date;
break;
}
case "h" : {
if(type=="+"){
date.setHours(date.getHours()+number);
}else{
date.setHours(date.getHours()-number);
}
return date;
break;
}
case "m" : {
if(type=="+"){
date.setMinutes(date.getMinutes()+number);
}else{
date.setMinutes(date.getMinutes()-number);
}
return date;
break;
}
case "s" : {
if(type=="+"){
date.setSeconds(date.getSeconds()+number);
}else{
date.setSeconds(date.getSeconds()-number);
}
return date;
break;
}
default : {
if(type=="+"){
date.setDate(d.getDate()+number);
}else{
date.setDate(d.getDate()-number);
}
return date;
break;
}
}
}
function formatDate(date){;
var year = date.getFullYear(); //年
var month = date.getMonth() + 1; //月
var day = date.getDate(); //日
return year+"-"+month+"-"+day;
}
//当前时间加五天.
var newDate = DateAddORSub("d","+",5);
alert(newDate.toLocaleDateString());
//当前时间减五天.
newDate = DateAddORSub("d","-",5);
alert(formatDate(newDate));
//当前时间加两个月.
newDate = DateAddORSub("m","+",2);
alert(newDate.toLocaleDateString());
//当前时间减两个月.
newDate = DateAddORSub("m","-",2);
alert(formatDate(newDate));
//当前时间加一年
newDate = DateAddORSub("y","+",1);
alert(newDate.toLocaleDateString());
//当前时间减一年
newDate = DateAddORSub("y","-",1);
alert(formatDate(newDate));
JS当前日期相加相减的更多相关文章
- Jquery datepicker 时间插件使用 js 时间相加,相减
$(document).ready(function(){ //输入框事件 $('#probation').bind('input propertychange', function() { var ...
- js面试题--------JS中数字和字符,布尔类型相加相减问题
JS中数字和字符相加相减问题 <html lang="en"> <head> <meta charset="utf-8" /> ...
- JS两日期相减
JS两日期相减,主要用到下面两个方法 dateObject.setFullYear(year,month,day) 方法 stringObject.split(separator) 方法 functi ...
- 上机题目(中级)- 两个超级大的整数相加相减 (Java)
代码例如以下: public class AddSub { public static void main(String[] args) { String a="46328648326846 ...
- mysql时间日期相加相减实现
分享篇mysql中日期的一些操作,就是我们常常会用到的mysql时间日期的相加或者相减的了,这个mysql也自己带了函数,有需要的朋友可以参考一下. 最简单的方法 select TO_DAYS(str ...
- JS中小数相加相减时出现很长的小数点的解决方式
1.问题: 平时写的代码中会出现这种情况,parseFloat(11.3-10.1) 运行的结果依然是1.200000000000001 代码示例: var arr = [0.0111,11.002, ...
- js浮点数相加、减、乘、除精确计算
js 浮点数计算时 ,无缘无辜 后边冒出一堆 小数点………… 貌似js本身的问题,类型不定?????? 只能自己写函数处理.. http://blog.csdn.net/w4bobo/article ...
- scala 两个map合并,key相同时value相加/相减都可
scala 两个map合并,key相同时value相加 1.map自带的合并操作 2.map函数 2.1示例 2.2合并两个map 3.用foldLeft 3.1 语法 3.2 合并两个map 1.m ...
- js 两数相减
var SecondPrice = document.getElementById("txtSecondPrice"); //秒杀价 var MarketP ...
随机推荐
- tcpclient 类
1. 构造函数 1) 类对象将套接字与本地系统地址和一个随机的tcp端口号进行绑定. 在默认的tcpclient 对象创建后,必须使用connect方法与远程设备连接. TcpClient tc = ...
- poj 1459 Power Network【建立超级源点,超级汇点】
Power Network Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 25514 Accepted: 13287 D ...
- 库不存在的排查方法:ImportError: No module named selenium2Library
解决办法: 把selenium2Library改成Selenium2Library 安装下面四个: python-2.7.13.amd64.msi robotframework-ride-1.5. ...
- LIVE555研究之三:LIVE555基础
LIVE555基础 LIVE555是为流媒体提供解决方式的跨平台C++开源项目.从今天起我们将正式開始深入LIVE555代码. 一.各库简要介绍 LIVE555下包括LiveMedia.UsageEn ...
- wechat server的配置
一 服务器地址 https://github.com/donal-tong/wechat4server 包括源代码及数据库脚本放在dump文件夹里 1.根据sql脚本创建需要的数据库hcapi,然后命 ...
- .ssh 文件夹权限设置问题
.ssh 文件夹权限 问题 今天遇到了 关于.ssh 文件夹夹 设置什么权限合适问题 :答案是 700 chmod 700 .ssh
- Java基础知识强化之集合框架笔记70:模拟斗地主洗牌和发牌(ArrayList)
1. 模拟斗地主洗牌和发牌 分析: A:创建一个牌盒 B:装牌 C:洗牌 D:发牌 E:看牌 2. 代码实现: package cn.itcast_03; im ...
- css定义多重背景动画
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style typ ...
- .NET程序编译原理
导语: CPU只认识二进制代码,那么C#源代码是怎样变成CPU可识别的二进制代码的呢? 步骤如下: 1.C#源码 2.运用VS自带的命令提示窗口,使用csc命令将C#源码转成程序集(EXE文件或DLL ...
- 数据库性能优化一:SQL索引一步到位
SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引 ...