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 ...
随机推荐
- 问题-Fastreport4 Memo打印时中文显示不全
问题现象:在使用Fastreport4制作打印工具时,发现Memo显示中文老是显不不全. 问题原因:可能是因为字符编码的原因,希望高人指点. 问题处理:将属性font-charset设置为DEFAUL ...
- C++ 运行时类型识别 知道实例父类类型,显示出子类类型
typeid(nets_[i]).name() 其中的nets_[i]是一个对象
- Eclipse开发PHP环境配置
首先准备好软件: 1. Apache,到这里找个最新版本 2. PHP,到这里下载 3. Eclipse IDE for Java EE Developers,到这里下载 4. DLTK Core F ...
- [ES6] 20. Polyfills
Polyfill is something you don't need to set up traceur but start to use es6 in today's browser.You c ...
- CRF++使用小结(转)
1. 简述 近期要应用CRF模型,进行序列识别.选用了CRF++工具包,详细来说是在VS2008的C#环境下,使用CRF++的windows版本号.本文总结一下了解到的和CRF++工具包相关的信息. ...
- 自定义URL Scheme完全指南
iPhone / iOS SDK 最酷的特性之一就是应用将其自身”绑定”到一个自定义 URL scheme 上,该 scheme 用于从浏览器或其他应用中启动本应用. 注册自定义 URL Scheme ...
- 利用Qt调用计算器
之前有了第一个项目那么很快就会有第二个 这次 我们来调用 一些系统函数. 就不从头写了. 直接写比较重要的地方,如果又不太懂的地方欢迎小纸条或者参见利用 QT制作一个 helloworld http: ...
- Android开发——构建自定义组件
Android中,你的应用程序程序与View类组件有着一种固定的联系,例如按钮(Button). 文本框(TextView), 可编辑文本框(EditText), 列表框(ListView), 复选框 ...
- 移动端布局Demo展示图文
上两张图自勉一下(来自刘墉先生的文章,最近看他的作品):然后移动端该愈来愈受到重视,未来的市场我不知道,不过我知道手机的功能越来越强大是不争的事实!移动端布局的积累也需要从现在做起! 需求一:实现下图 ...
- 学会用Reflector调试我们的MVC框架代码
我们知道,现在能调试.net程序通常有两个,第一个是ILSpy,还是一个是Reflector,这两个小反编译软件算是我们研究底层代码中所拥有的一把 锋利小尖刀~~~,比如你看到的ILSpy这样的界面图 ...