用例:
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对象允许我们创建、读取、操作和格式化日期。 1....
xdate是一款开源的JavaScript日期库,它提供了丰富的API和增强的性能,旨在简化日期处理并提高代码的可读性。xdate不仅支持常见的日期操作,如获取和设置年、月、日、时、分、秒等,还提供了一些高级功能,如时区...
jQuery是一个强大的JavaScript库,简化了DOM操作、事件处理和Ajax交互,使得开发动态网页变得更加简单。 在功能上,DateRangePicker提供了自定义时间范围选择的能力。用户可以根据需求自由设定起始时间和结束时间,...
### JavaScript 转换日期字符串为 Date 日期对象的方法 在 JavaScript 开发中,处理日期是非常常见的需求之一。很多时候,我们需要将用户输入或其他来源得到的日期字符串转换为 `Date` 对象,以便进行进一步的计算...
JavaScript Date(简称jsDate)是一种常见的前端插件,专门用于处理和显示时间,特别是在需要动态更新和自定义格式化的时间展示场景中。这个插件极大地丰富了JavaScript原生Date对象的功能,提供了更多便利的API来...
Date对象是JavaScript内置的一个对象,用于处理日期和时间。 1. **创建Date对象**:可以通过`new Date()`来创建一个表示当前日期和时间的Date对象。也可以传入特定的日期和时间来创建。 2. **获取日期和时间**:...
JavaScript提供了内置的Date对象来处理日期和时间,但默认的输出格式可能并不符合我们的需要。因此,我们需要学习如何自定义格式化日期和时间。 首先,让我们了解一下JavaScript中的Date对象。Date对象是JavaScript...
3. **日期和时间处理**:JavaScript的Date对象可能与C#的DateTime类不完全兼容,工具类可能提供了适应后台环境的日期和时间处理方法。 4. **字符串操作**:提供常用的字符串处理函数,如格式化、查找、替换等。 5....
JavaScript的`Date`对象是处理时间的核心工具,它会根据浏览器的时区返回日期和时间。默认情况下,`new Date()`将创建一个表示当前日期和时间的对象,但并不考虑时区。 要获取用户所在的时区,JavaScript提供了`...
在网页开发中,HTML、JavaScript 和 ...综上所述,"HTML JavaScript jQuery 时间动态显示"是一个结合了HTML布局、JavaScript动态更新和jQuery简化操作的示例,通过这些技术,可以创建一个实时显示当前时间的网页组件。
在JavaScript中,处理时间通常涉及到Date对象。Date对象允许我们创建、操作和格式化日期和时间。为了创建一个精确到秒的时间控件,我们需要实现以下功能: 1. **时间选择器界面**:这通常是一个包含小时、分钟和秒...
daterangepicker时间组件是一种广泛应用于网页开发中的交互式日期选择工具,尤其在需要用户输入或选择日期范围时非常实用。这个组件通常与JavaScript库如Bootstrap、jQuery UI或者AngularJS等配合使用,提供美观且...
总之,"pickerDateRange"是一个自定义修改过的日期范围选择插件,它简化了用户在网页上选取日期范围的过程,通过定制可以满足项目的个性化需求。了解和使用这个插件,不仅可以提升前端开发效率,还能为用户提供更...
`date-fns`是一个强大的日期处理库,它简化了JavaScript中的日期操作,提高了代码的可读性和可维护性。通过其丰富的API,开发者可以方便地处理各种复杂的日期场景,同时享受其模块化和高性能的优势。无论是在简单的...
JavaScript中的Date对象是用于处理日期和时间的核心构造函数,它提供了丰富的功能,允许开发者创建、操作和格式化日期。在本文中,我们将探讨如何利用Date对象实现一个简易的日历功能。 首先,HTML部分构建了日历的...
在JavaScript中,处理日期和时间的基本对象是`Date`,它包含了创建、读取、修改和比较日期的所有方法。例如,你可以用`new Date()`创建一个表示当前日期和时间的新实例,或者指定特定的年月日时分秒来创建。`getDate...
### JavaScript 日期时间函数详解 #### 1. 概述 在JavaScript中处理日期与...这些函数能够极大地简化日期时间相关的开发工作,并提供强大的日期时间处理能力。开发者可以根据自己的实际需求选择合适的方法进行应用。
5. **插件或库**:为了简化开发,开发者常使用现有的JavaScript库,如jQuery UI的`datepicker`插件,Bootstrap的`datetimepicker`,或者更现代的如Moments.js和Pickadate.js等。这些库提供了丰富的功能和自定义选项...
在JavaScript中,`Date`对象提供了许多方法来获取日期和时间的不同部分,如`getFullYear()`、`getMonth()`(注意月份是从0开始的)、`getDate()`、`getHours()`等。例如: ```javascript console.log(date....
JavaScript提供了内置的`Date`对象,用于处理日期和时间。你可以通过构造函数创建一个新的Date实例,它会自动获取当前的日期和时间,或者你可以传入特定的日期字符串或时间戳来初始化。`Date`对象提供了众多的方法...