var DateUtils_MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
/** 时间处理公共函数 */
function DateUtils() {}
DateUtils.prototype.toDate = function(strDate) {
if (strDate.length == 19) { // YYYY-MM-DD HH:MI:SS
var year = strDate.substring(0, 4);
var month = strDate.substring(5, 7);
var date = strDate.substring(8, 10);
var hour = strDate.substring(11, 13);
var min = strDate.substring(14, 16);
var sec = strDate.substring(17, 19);
return new Date(year, month - 1, date, hour, min, sec);
} else if (strDate.length == 10) { // "YYYY-MM-DD"
var year = strDate.substring(0, 4);
var month = strDate.substring(5, 7);
var date = strDate.substring(8, 10);
return new Date(year, month - 1, date);
} else if (strDate.length == 7) { // "YYYY-MM"
var year = strDate.substring(0, 4);
var month = strDate.substring(5, 7);
return new Date(year, month - 1);
} else if (strDate.length == 4) { // "YYYY"
var year = strDate.substring(0, 4);
return new Date(year);
} else {
alert("DateUtils.toDate(strDate) error! invalid argument(format).");
}
}
DateUtils.prototype.toString = function(date, format) {
var strDate;
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var min = date.getMinutes();
var sec = date.getSeconds();
month = (parseInt(month) < 10) ? ("0" + month) : (month);
day = (parseInt(day) < 10) ? ("0" + day ) : (day);
hour = (parseInt(hour) < 10) ? ("0" + hour) : (hour);
min = (parseInt(min) < 10) ? ("0" + min) : (min);
sec = (parseInt(sec) < 10) ? ("0" + sec) : (sec);
if ("YYYY-MM-DD HH:MI:SS" == format) {
strDate = year + "-" + month + "-" + day + " " + hour + ":" + min + ":" + sec;
} else if ("YYYY-MM-DD" == format) {
strDate = year + "-" + month + "-" + day;
} else if ("YYYY-MM" == format) {
strDate = year + "-" + month;
} else if ("YYYY" == format) {
strDate = year;
} else {
alert("DateUtils.toString(date, format) error! invalid argument(format).");
}
return strDate;
}
DateUtils.prototype.getMonthDays = function(date,month) {
var year = date.getFullYear();
if (typeof month == "undefined") {
month = date.getMonth();
}
if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) {
return 29;
} else {
return DateUtils_MD[month];
}
};
DateUtils.prototype.addDays = function(dayOffset, strBaseDate) {
var date = (arguments.length == 1) ? this.toDate(this.today()) : this.toDate(strBaseDate);
date = new Date(date.getTime() + parseInt(dayOffset) * 24 * 3600 * 1000);
return this.toString(new Date(date), "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.addMonths = function(monthOffset, strBaseDate) {
var date = (arguments.length == 1) ? this.toDate(this.today()): this.toDate(strBaseDate);
var month=date.getMonth();
var cd=date.getDate();//this.getMonthDays(date,month);
var td=this.getMonthDays(date,date.getMonth() + parseInt(monthOffset));
if(cd > td){date.setDate(td);}
date.setMonth(date.getMonth() + parseInt(monthOffset));
return this.toString(date, "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.addMonthsForStart = function(monthOffset, strBaseDate) {
var strDate = (arguments.length == 1) ? this.today() : strBaseDate;
strDate = this.addMonths(monthOffset, strDate);
return this.firstDayOfMonth(strDate);
}
DateUtils.prototype.addMonthsForEnd = function(monthOffset, strBaseDate) {
var strDate = (arguments.length == 1) ? this.today() : strBaseDate;
strDate = this.addMonths(monthOffset, strDate);
return this.addDays(-1, this.firstDayOfMonth(strDate));
}
DateUtils.prototype.addYears = function(yearOffset, strBaseDate) {
var date = (arguments.length == 1) ? this.toDate(this.today()) : this.toDate(strBaseDate);
date.setYear(date.getYear() + parseInt(yearOffset));
return this.toString(date, "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.addYearsForStart = function(yearOffset, strBaseDate) {
var strDate = (arguments.length == 1) ? this.today() : strBaseDate;
strDate = this.addYears(yearOffset, strDate);
return this.firstDayOfYear(strDate);
}
DateUtils.prototype.addYearsForEnd = function(yearOffset, strBaseDate) {
var strDate = (arguments.length == 1) ? this.today() : strBaseDate;
strDate = this.addYears(yearOffset, strDate);
return this.firstDayOfYear(strDate);
}
DateUtils.prototype.sunOfWeek = function(strDate) {
var date = (arguments.length == 0) ? this.toDate(this.today()) : this.toDate(strDate);
date = new Date(date - (date.getDay()) * (24 * 3600 * 1000));
return this.toString(date, "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.monOfWeek = function(strDate) {
var date = (arguments.length == 0) ? this.toDate(this.today()) : this.toDate(strDate);
date = new Date(date - (date.getDay() - 1) * (24 * 3600 * 1000));
return this.toString(date, "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.tueOfWeek = function(strDate) {
var date = (arguments.length == 0) ? this.toDate(this.today()) : this.toDate(strDate);
date = new Date(date - (date.getDay() - 2) * (24 * 3600 * 1000));
return this.toString(date, "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.wedOfWeek = function(strDate) {
var date = (arguments.length == 0) ? this.toDate(this.today()) : this.toDate(strDate);
date = new Date(date - (date.getDay() - 3) * (24 * 3600 * 1000));
return this.toString(date, "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.turOfWeek = function(strDate) {
var date = (arguments.length == 0) ? this.toDate(this.today()) : this.toDate(strDate);
date = new Date(date - (date.getDay() - 4) * (24 * 3600 * 1000));
return this.toString(date, "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.friOfWeek = function(strDate) {
var date = (arguments.length == 0) ? this.toDate(this.today()) : this.toDate(strDate);
date = new Date(date - (date.getDay() - 5) * (24 * 3600 * 1000));
return this.toString(date, "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.satOfWeek = function(strDate) {
var date = (arguments.length == 0) ? this.toDate(this.today()) : this.toDate(strDate);
date = new Date(date - (date.getDay() - 6) * (24 * 3600 * 1000));
return this.toString(date, "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.firstDayOfMonth = function(strDate) {
var date = (arguments.length == 0) ? this.toDate(this.today()) : this.toDate(strDate);
date.setDate(1);
return this.toString(date, "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.lastDayOfMonth = function(strDate) {
strDate = (arguments.length == 0) ? this.today() : (strDate);
strDate = this.addMonths(1, strDate);
strDate = this.firstDayOfMonth(strDate);
strDate = this.addDays(-1, strDate);
return strDate;
}
DateUtils.prototype.firstDayOfYear = function(strDate) {
var date = (arguments.length == 0) ? this.toDate(this.today()) : this.toDate(strDate);
date.setMonth(0);
date.setDate(1);
return this.toString(date, "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.lastDayOfYear = function(strDate) {
var date = (arguments.length == 0) ? this.toDate(this.today()) : this.toDate(strDate);
date.setMonth(11);
date.setDate(31);
return this.toString(date, "YYYY-MM-DD HH:MI:SS");
}
DateUtils.prototype.today = function(format) {
if(getToday && typeof(getToday)=="function"){
return getToday();
}else{
if (arguments.length == 0) {
return this.toString(new Date(), "YYYY-MM-DD");
} else {
return this.toString(new Date(), format);
}
}
}
分享到:
相关推荐
本文将深入探讨C#中的日期处理函数,特别是`DateTime`类的使用方法。 1. `DateTime` 类型是C#中用于表示日期和时间的内置类型。通过以下方式可以创建一个表示当前时间的`DateTime`对象: ```csharp System....
C通用函数库(c General Purpose Function Library,简称为ccufl)是一套为C语言开发者设计的、包含各种常用功能的代码库。它旨在提供一套标准化、高效且跨平台的函数集合,帮助开发者快速实现常见任务,提高开发...
再者,日期处理是JavaScript开发中的一大挑战,因为浏览器的原生`Date`对象有时并不能满足所有需求。这个工具库可能包含了自定义的日期格式化函数,如`formatDate`,它可以将日期对象按照用户指定的格式(如'YYYY-MM...
以下是一些在VB.NET中处理DateTime的通用函数,这些函数可以帮助开发者进行日期和时间的操作和格式化。这些函数适用于考试准备,理解日期时间处理的基本概念。 1. 函数Date1() 这个函数使用了`TimeSpan`类来减去...
在这个“js validator通用函数及实例”压缩包中,很显然包含了一些关于如何使用Validator的通用函数以及具体的示例代码。 首先,`Validator`通常包括一系列验证方法,如`isEmail`用于检查是否为有效的电子邮件地址...
"通用函数库c#语言"通常涵盖各种常用功能,如IP地址操作、文件管理、数据加密以及变量处理等。以下是对这些知识点的详细说明: 1. IP地址操作: 在C#中,处理IP地址通常会用到`System.Net`命名空间中的类,如`IP...
在Asp.net开发中,熟练掌握`DateTime.Now`和`ToString()`方法的使用,能够极大地提升日期处理的效率和准确性。不同的格式字符串可以满足各种应用场景的需求,使得开发者能够灵活地控制日期时间的显示形式。希望本文...
"Vfp通用函数"这个主题涉及到的是VFP编程时常用的一些函数,这些函数可以提高开发效率,解决各种常见的编程问题。VFP中的函数集包括了数据处理、字符串操作、日期时间处理、数学运算等多个方面。 1. **数据处理函数...
与日期函数结合使用,可以实现更加灵活的日期处理。 TEXT函数的基本语法为:TEXT(value,format_text)。其中,value是要转换的数值或日期,format_text是转换的格式字符串。 常用的TEXT函数格式字符串有: * "YYYY...
通用函数库是编程语言中预定义的一系列函数集合,它们提供了一套标准化的方法来处理常见的任务,如数学运算、字符串操作、文件I/O等。在DINP中,这个函数库可能包含了一系列特定于该框架的实用工具函数,帮助开发者...
标签中提及的"天数到日期的转换函数",暗示了这个函数可能是一个通用的工具,不仅适用于FOXPRO DBF,也可能适用于其他类似情况,比如处理存储为天数的日期数据。 在压缩包内的文件`typecast`可能是实现这个转换功能...
### SQL Server 中强大的日期格式化函数:CONVERT 在SQL Server中处理日期和时间数据时,经常需要将日期和时间转换成不同的格式以便于展示或分析。`CONVERT` 函数是SQL Server中最常用的一种方法来实现日期和时间...
论坛帖子通常会分享代码示例和实践经验,讨论各种数据类型如字符串、数字、日期的验证方法,以及如何处理特殊数据类型如对象和数组。 另一个文件"javaScript通用数据类型校验 - JavaScript - web - JavaEye论坛....
这个"Window下通用函数借口类"正是为了满足这样的需求,提供了一整套便利的工具函数。 1. **时间处理**:函数接口可能包含获取当前时间、格式化日期时间、计算时间差等功能。例如,可以有`GetSystemTime()`用于获取...
在提供的压缩包“asp.net 通用函数代码ToolHelper.rar”中,我们可以预期找到一些适用于多种场景的ASP.NET自定义函数,这些函数可能极大地提高了开发效率并简化了常见任务的处理。 `ToolHelper`通常是一个包含各种...
本章要点包括字符函数、数字函数、日期函数、转换函数和通用函数等单行函数。 字符函数 字符函数用于处理字符串,包括大小写处理函数和字符处理函数。大小写处理函数可以将字符串转换为大写、小写或首字母大写,...
在 C# 编程语言中,日期函数是一组非常重要的函数,它们可以帮助开发者快速地处理日期和时间相关的操作。在本节中,我们将详细介绍 C# 中的日期函数的使用方法和示例代码。 1. 获取当前日期和时间 使用 DateTime....
"LGF"(可能代表“逻辑通用函数”或者“灵活通用函数”)是针对博途V16的一个扩展函数库,它旨在为用户在编程过程中提供更多的便利和功能增强。 LGF库包含了多种通用的块(Function Blocks, FBs)和指令,这些块...
Oracle数据库提供了多种函数来处理不同的数据类型,包括字符函数、数值函数、日期函数、转换函数、通用函数等。下面将对这些函数进行详细的介绍。 字符函数 字符函数用于处理字符串数据,常用的字符函数有: 1. `...
Gbase8s系统函数是南大通用数据库Gbase8s中的一个重要组件,提供了多种函数来帮助用户更方便地处理和分析数据。这些函数可以分为多个类别,包括集合函数、代数函数、时间函数、数据转换函数、基数函数、字符串处理...