`
p2world
  • 浏览: 95583 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript date 时间 简化类

阅读更多
用例:
var iDate=new IDate();
iDate.toString();//y-M-d h:m:s格式输出
iDate.h("+1");//小时加一 
iDate.h("-1");//小时减一 
iDate.h(1);  //设定小时为1
iDate.h("1");//设定小时为1
iDate.h();   //获取小时数
iDate.y(2012).M(4).d(14).h(10).m(0).s(0).ms(0);//链式


类源码:
var IDate=(function(){
var self,//当前操作的IDate实例,实现静态方法、访问控制
	names={//原生Date类与本类方法名对应列表
		y:"FullYear",
		M:"Month",
		d:"Date",
		h:"Hours",
		m:"Minutes",
		s:"Seconds",
		ms:"Milliseconds"
	};
function argParse(k,arg){
	var res;
	if(arguments.length){
		if(typeof arg ==="number"){
			set(k,arg);//内部方法调用,不使用self
			return self;
		}else if(typeof arg ==="string"){
			if(/^[+-]?\d+$/.test(arg)){
				var dir;
				if(arg.charAt(0)==="+"){
					arg=parseInt(arg,10);
					dir=1;
				}else if(arg.charAt(0)==="-"){
					arg=parseInt(arg.slice(1),10);
					dir=-1;
				}
				set(k,arg,dir);
				return self;
			}
		}
	}
	return get(k);
}
function set(k,v,dir){
	var dateName=names[k];
	if(!dir){
		if(k==="M"){
			v--;
		}
		self.date['set'+dateName](v);//访问暴露在外的属性使用self
	}else{
		self.date['set'+dateName](v*dir+self.date["get"+dateName]());
	}
}
function get(k){
	var res=self.date['get'+names[k]]();
	if(k==="M"){
		res++;
	}
	return res;
}

function IDate(date){
	if(arguments.length){
		if(date instanceof IDate){//防止重复实例化,复制使用:new IDate(iDate.t());
			return date;
		}else if(date instanceof Date){
			this.date=date;
		}else{
			this.date=new Date(parseInt(date,10));
		}
	}else{
		this.date=new Date();
	}
}
//批量生成外部使用方法:
var proto={};
for(var name in names){
	proto[name]=(function(name){
		return function(arg){
			self=this;
			return argParse(name,arg);
		};
	}(name));
}
proto.t=function() {
	return this.date.getTime();
};
proto.toString=function() {
	return this.y()+"-"+this.M()+"-"+this.d()+" "+this.h()+":"+this.m()+":"+this.s();
};
IDate.prototype=proto;
return IDate;
}());
分享到:
评论

相关推荐

    javascript的date转化器

    这个“javascript的date转化器”可能是一个自定义的库或函数集合,旨在简化和扩展JavaScript内置Date对象的功能,以满足更复杂的日期操作需求。在JavaScript中,Date对象允许我们创建、读取、操作和格式化日期。 1....

    xdate, A Modern JavaScript Date Library.zip

    xdate是一款开源的JavaScript日期库,它提供了丰富的API和增强的性能,旨在简化日期处理并提高代码的可读性。xdate不仅支持常见的日期操作,如获取和设置年、月、日、时、分、秒等,还提供了一些高级功能,如时区...

    bootstrap3插件-时间范围自定义选择器DateRangePicker.zip

    jQuery是一个强大的JavaScript库,简化了DOM操作、事件处理和Ajax交互,使得开发动态网页变得更加简单。 在功能上,DateRangePicker提供了自定义时间范围选择的能力。用户可以根据需求自由设定起始时间和结束时间,...

    javascript转换日期字符串为Date日期对象的方法.docx

    ### JavaScript 转换日期字符串为 Date 日期对象的方法 在 JavaScript 开发中,处理日期是非常常见的需求之一。很多时候,我们需要将用户输入或其他来源得到的日期字符串转换为 `Date` 对象,以便进行进一步的计算...

    jsDate插件,时间格式插件

    JavaScript Date(简称jsDate)是一种常见的前端插件,专门用于处理和显示时间,特别是在需要动态更新和自定义格式化的时间展示场景中。这个插件极大地丰富了JavaScript原生Date对象的功能,提供了更多便利的API来...

    浅析JavaScript 箭头函数 generator Date JSON

    Date对象是JavaScript内置的一个对象,用于处理日期和时间。 1. **创建Date对象**:可以通过`new Date()`来创建一个表示当前日期和时间的Date对象。也可以传入特定的日期和时间来创建。 2. **获取日期和时间**:...

    JavaScript - 格式化日期时间.zip

    JavaScript提供了内置的Date对象来处理日期和时间,但默认的输出格式可能并不符合我们的需要。因此,我们需要学习如何自定义格式化日期和时间。 首先,让我们了解一下JavaScript中的Date对象。Date对象是JavaScript...

    javascript后台调用的工具类

    3. **日期和时间处理**:JavaScript的Date对象可能与C#的DateTime类不完全兼容,工具类可能提供了适应后台环境的日期和时间处理方法。 4. **字符串操作**:提供常用的字符串处理函数,如格式化、查找、替换等。 5....

    javascript 解决网站时区问题

    JavaScript的`Date`对象是处理时间的核心工具,它会根据浏览器的时区返回日期和时间。默认情况下,`new Date()`将创建一个表示当前日期和时间的对象,但并不考虑时区。 要获取用户所在的时区,JavaScript提供了`...

    html javascript jqeury 时间动态显示

    在网页开发中,HTML、JavaScript 和 ...综上所述,"HTML JavaScript jQuery 时间动态显示"是一个结合了HTML布局、JavaScript动态更新和jQuery简化操作的示例,通过这些技术,可以创建一个实时显示当前时间的网页组件。

    javascript精确到秒的时间控件

    在JavaScript中,处理时间通常涉及到Date对象。Date对象允许我们创建、操作和格式化日期和时间。为了创建一个精确到秒的时间控件,我们需要实现以下功能: 1. **时间选择器界面**:这通常是一个包含小时、分钟和秒...

    javascript时间段分割

    在JavaScript编程中,处理时间段的分割是一个常见的任务,特别是在日历、预约系统或者时间调度相关的应用中。这个任务涉及到的时间段操作通常包括合并相交的时间段、分割重叠部分以及计算时间段的覆盖范围等。本篇...

    daterangepicker时间组件

    daterangepicker时间组件是一种广泛应用于网页开发中的交互式日期选择工具,尤其在需要用户输入或选择日期范围时非常实用。这个组件通常与JavaScript库如Bootstrap、jQuery UI或者AngularJS等配合使用,提供美观且...

    时间插件pickerDateRange

    总之,"pickerDateRange"是一个自定义修改过的日期范围选择插件,它简化了用户在网页上选取日期范围的过程,通过定制可以满足项目的个性化需求。了解和使用这个插件,不仅可以提升前端开发效率,还能为用户提供更...

    现代Javascript日期工具库

    `date-fns`是一个强大的日期处理库,它简化了JavaScript中的日期操作,提高了代码的可读性和可维护性。通过其丰富的API,开发者可以方便地处理各种复杂的日期场景,同时享受其模块化和高性能的优势。无论是在简单的...

    javascript中Date对象应用之简易日历实现_.docx

    JavaScript中的Date对象是用于处理日期和时间的核心构造函数,它提供了丰富的功能,允许开发者创建、操作和格式化日期。在本文中,我们将探讨如何利用Date对象实现一个简易的日历功能。 首先,HTML部分构建了日历的...

    Javascript日期时间选择控件

    在JavaScript中,处理日期和时间的基本对象是`Date`,它包含了创建、读取、修改和比较日期的所有方法。例如,你可以用`new Date()`创建一个表示当前日期和时间的新实例,或者指定特定的年月日时分秒来创建。`getDate...

    javascript 日期时间函数(经典+完善+实用)

    ### JavaScript 日期时间函数详解 #### 1. 概述 在JavaScript中处理日期与...这些函数能够极大地简化日期时间相关的开发工作,并提供强大的日期时间处理能力。开发者可以根据自己的实际需求选择合适的方法进行应用。

    javascript取得时间控件

    5. **插件或库**:为了简化开发,开发者常使用现有的JavaScript库,如jQuery UI的`datepicker`插件,Bootstrap的`datetimepicker`,或者更现代的如Moments.js和Pickadate.js等。这些库提供了丰富的功能和自定义选项...

    javascript日期格式化

    在JavaScript中,`Date`对象提供了许多方法来获取日期和时间的不同部分,如`getFullYear()`、`getMonth()`(注意月份是从0开始的)、`getDate()`、`getHours()`等。例如: ```javascript console.log(date....

Global site tag (gtag.js) - Google Analytics