- 浏览: 144904 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
Audi_kenel:
还是不理解
aop -
hanmiao:
楼主这代码的排版真够乱的,完全没法看。
freemarker 国际化 -
cafecheng:
cafecheng 写道<@spring.message ...
freemarker list map 应用 spring.message -
cafecheng:
<@spring.messageArgs "t ...
freemarker list map 应用 spring.message -
领悟人生:
太感动了,我的项目大的提升。从1700多次的请求,减至200多 ...
终结IE6下背景图片闪烁问题
var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间
日期时间脚本库方法列表
Date.prototype.isLeapYear 判断闰年
Date.prototype.Format 日期格式化
Date.prototype.DateAdd 日期计算
Date.prototype.DateDiff 比较日期差
Date.prototype.toString 日期转字符串
Date.prototype.toArray 日期分割为数组
Date.prototype.DatePart 取日期的部分信息
Date.prototype.MaxDayOfDate 取日期所在月的最大天数
Date.prototype.WeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDateTime 完整日期时间检查
daysBetween 日期天数差
js代码:
//---------------------------------------------------
// 判断闰年
//---------------------------------------------------
Date.prototype.isLeapYear = function()
{
return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));
}
//---------------------------------------------------
// 日期格式化
// 格式 YYYY/yyyy/YY/yy 表示年份
// MM/M 月份
// W/w 星期
// dd/DD/d/D 日期
// hh/HH/h/H 时间
// mm/m 分钟
// ss/SS/s/S 秒
//---------------------------------------------------
Date.prototype.Format = function(formatStr)
{
var str = formatStr;
var Week = ['日','一','二','三','四','五','六'];
str=str.replace(/yyyy|YYYY/,this.getFullYear());
str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():'0' + (this.getYear() % 100));
str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():'0' + this.getMonth());
str=str.replace(/M/g,this.getMonth());
str=str.replace(/w|W/g,Week[this.getDay()]);
str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():'0' + this.getDate());
str=str.replace(/d|D/g,this.getDate());
str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0' + this.getHours());
str=str.replace(/h|H/g,this.getHours());
str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():'0' + this.getMinutes());
str=str.replace(/m/g,this.getMinutes());
str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():'0' + this.getSeconds());
str=str.replace(/s|S/g,this.getSeconds());
return str;
}
//+---------------------------------------------------
//| 求两个时间的天数差 日期格式为 YYYY-MM-dd
//+---------------------------------------------------
function daysBetween(DateOne,DateTwo)
{
var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-'));
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1);
var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));
var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-'));
var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1);
var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));
var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);
return Math.abs(cha);
}
//+---------------------------------------------------
//| 日期计算
//+---------------------------------------------------
Date.prototype.DateAdd = function(strInterval, Number) {
var dtTmp = this;
switch (strInterval) {
case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number));
case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number));
case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Number));
case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Number));
case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));
case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) +
Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(),
dtTmp.getSeconds());
case 'm' :return new
Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(),
dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
case 'y' :return new Date((dtTmp.getFullYear() + Number),
dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(),
dtTmp.getMinutes(), dtTmp.getSeconds());
}
}
//+---------------------------------------------------
//| 比较日期差 dtEnd 格式为日期型或者 有效日期格式字符串
//+---------------------------------------------------
Date.prototype.DateDiff = function(strInterval, dtEnd) {
var dtStart = this;
if (typeof dtEnd == 'string' )//如果是字符串转换为日期型
{
dtEnd = StringToDate(dtEnd);
}
switch (strInterval) {
case 's' :return parseInt((dtEnd - dtStart) / 1000);
case 'n' :return parseInt((dtEnd - dtStart) / 60000);
case 'h' :return parseInt((dtEnd - dtStart) / 3600000);
case 'd' :return parseInt((dtEnd - dtStart) / 86400000);
case 'w' :return parseInt((dtEnd - dtStart) / (86400000 * 7));
case 'm' :return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);
case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear();
}
}
//+---------------------------------------------------
//| 日期输出字符串,重载了系统的toString方法
//+---------------------------------------------------
Date.prototype.toString = function(showWeek)
{
var myDate= this;
var str = myDate.toLocaleDateString();
if (showWeek)
{
var Week = ['日','一','二','三','四','五','六'];
str += ' 星期' + Week[myDate.getDay()];
}
return str;
}
//+---------------------------------------------------
//| 日期合法性验证
//| 格式为:YYYY-MM-DD或YYYY/MM/DD
//+---------------------------------------------------
function IsValidDate(DateStr)
{
var sDate=DateStr.replace(/(^\s+|\s+$)/g,''); //去两边空格;
if(sDate=='') return true;
//如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为''
//数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式
var s = sDate.replace(/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,'');
if (s=='') //说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D
{
var t=new Date(sDate.replace(/\-/g,'/'));
var ar = sDate.split(/[-/:]/);
if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())
{
//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
return false;
}
}
else
{
//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
return false;
}
return true;
}
//+---------------------------------------------------
//| 日期时间检查
//| 格式为:YYYY-MM-DD HH:MM:SS
//+---------------------------------------------------
function CheckDateTime(str)
{
var reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }):(\d{ 1,2 }):(\d{ 1,2 })$/;
var r = str.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]);
if(d.getFullYear()!=r[1])return false;
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false;
if(d.getHours()!=r[4])return false;
if(d.getMinutes()!=r[5])return false;
if(d.getSeconds()!=r[6])return false;
return true;
}
//+---------------------------------------------------
//| 把日期分割成数组
//+---------------------------------------------------
Date.prototype.toArray = function()
{
var myDate = this;
var myArray = Array();
myArray[0] = myDate.getFullYear();
myArray[1] = myDate.getMonth();
myArray[2] = myDate.getDate();
myArray[3] = myDate.getHours();
myArray[4] = myDate.getMinutes();
myArray[5] = myDate.getSeconds();
return myArray;
}
//+---------------------------------------------------
//| 取得日期数据信息
//| 参数 interval 表示数据类型
//| y 年 m月 d日 w星期 ww周 h时 n分 s秒
//+---------------------------------------------------
Date.prototype.DatePart = function(interval)
{
var myDate = this;
var partStr='';
var Week = ['日','一','二','三','四','五','六'];
switch (interval)
{
case 'y' :partStr = myDate.getFullYear();break;
case 'm' :partStr = myDate.getMonth()+1;break;
case 'd' :partStr = myDate.getDate();break;
case 'w' :partStr = Week[myDate.getDay()];break;
case 'ww' :partStr = myDate.WeekNumOfYear();break;
case 'h' :partStr = myDate.getHours();break;
case 'n' :partStr = myDate.getMinutes();break;
case 's' :partStr = myDate.getSeconds();break;
}
return partStr;
}
//+---------------------------------------------------
//| 取得当前日期所在月的最大天数
//+---------------------------------------------------
Date.prototype.MaxDayOfDate = function()
{
var myDate = this;
var ary = myDate.toArray();
var date1 = (new Date(ary[0],ary[1]+1,1));
var date2 = date1.dateAdd(1,'m',1);
var result = dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd'));
return result;
}
//+---------------------------------------------------
//| 取得当前日期所在周是一年中的第几周
//+---------------------------------------------------
Date.prototype.WeekNumOfYear = function()
{
var myDate = this;
var ary = myDate.toArray();
var year = ary[0];
var month = ary[1]+1;
var day = ary[2];
document.write('< script language=VBScript\> \n');
document.write('myDate = DateValue(''+month+'-'+day+'-'+year+'') \n');
document.write('result = DatePart('ww', myDate) \n');
document.write(' \n');
return result;
}
//+---------------------------------------------------
//| 字符串转成日期类型
//| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd
//+---------------------------------------------------
function StringToDate(DateStr)
{
var converted = Date.parse(DateStr);
var myDate = new Date(converted);
if (isNaN(myDate))
{
//var delimCahar = DateStr.indexOf('/')!=-1?'/':'-';
var arys= DateStr.split('-');
myDate = new Date(arys[0],--arys[1],arys[2]);
}
return myDate;
}
//今天
function countDay(){
myDate = new Date();
var todadys= myDate.getFullYear()+'-'+(parseInt(myDate.getMonth())+1)+'-'+myDate.getDate()+' 00:00:00';
var todadye= myDate.getFullYear()+'-'+(parseInt(myDate.getMonth())+1)+'-'+myDate.getDate()+' 23:59:59';
...
}
//本月
function countMonth(){
var d = new Date();
d = new Date(d.getFullYear(),d.getMonth()+1,0);
var months= myDate.getFullYear()+'-'+(parseInt(myDate.getMonth())+1)+'-'+'01 00:00:00';
var monthe= myDate.getFullYear()+'-'+(parseInt(myDate.getMonth())+1)+'-'+d.getDate()+' 23:59:59';
...
}
发表评论
-
js 模式
2011-07-19 12:19 9911、JavaScript 要通过原型链来实现继承: fu ... -
js 实现动态替换 占位符 和取context
2011-07-19 10:53 6438var MessageFormat = function(st ... -
自动给 http 的字符串 加链接
2011-03-23 11:06 1075再做项目的时候需要给文本里的含http或者https://开头 ... -
js 判断日期是否是当天
2010-09-06 11:31 8962/** 如果是当日的话显示h ... -
js 正则表达式 多个email 逗号分割
2010-04-12 17:14 4328var reg = /^(?:[a-zA-Z0-9_-]+@[ ... -
addEventListener and attachEvent
2010-01-18 13:52 1002<div id="btn" ... -
js动态从服务器把请求的数据插入到页面相应的位置
2009-10-16 09:46 1754《!-- 主要讲以class属性 ... -
正则表达式 大全
2009-09-03 18:34 830常用正则表达式大全!(例如:匹配中文、匹配html) 匹配 ... -
js map
2009-09-03 18:17 1086function Map(){ this.elemen ... -
js提取数字,计算数字之和
2009-08-13 15:05 1767var re = new RegExp("\d&qu ... -
jquery
2009-03-04 09:57 8831.1 jQuery 支持的 CSS 选择 ... -
flash 实现上传多个图片
2009-03-02 11:31 1354多文件上传的例子 -
javascript
2008-12-22 09:42 749<script type="text/java ...
相关推荐
JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象...
### JavaScript中的Date Format(JS日期格式化)方法详解 #### 概述 在日常的Web开发工作中,我们经常需要处理日期和时间相关的数据。JavaScript 的 `Date` 对象提供了多种方法来获取和设置日期时间,但原生 API 并...
在JavaScript中,`Date`对象提供了多种方法来获取和设置日期及时间。本文将详细介绍如何将`Date`对象转换成字符串格式,这对于数据展示、存储以及传输等场景非常有用。 #### 1. 基本概念 在JavaScript中,`Date`...
JavaScript Date(简称jsDate)是一种常见的前端插件,专门用于处理和显示时间,特别是在需要动态更新和自定义格式化的时间展示场景中。这个插件极大地丰富了JavaScript原生Date对象的功能,提供了更多便利的API来...
如果你需要处理其他格式的日期时间字符串,你可以使用 JavaScript 的内置函数或者第三方库(如 moment.js 或 date-fns)来转换字符串格式。 例如,以下是一个简单的转换函数示例: ```javascript function ...
### JavaScript 转换日期字符串为 Date 日期对象的方法 在 JavaScript 开发中,处理日期是非常常见的需求之一。很多时候,我们需要将用户输入或其他来源得到的日期字符串转换为 `Date` 对象,以便进行进一步的计算...
最近遇到一个问题,就是获取表单中的日期往后台通过json方式传的时候,遇到Date.parse(str)函数在ff下报错: NAN 找了些资料,发现是由于Date.parse()函数对日期格式有要求:详细参考 Date.parse函数 对于js操作日期: ...
javascript Date比较和Date转换为时间戳(毫秒)
javascript date类的扩展
### JavaScript Date 对象获取年、月、日的具体值 在JavaScript中,`Date`对象用于处理日期和时间。本文将详细介绍如何使用JavaScript的`Date`对象来获取年、月、日的具体值,并通过实例帮助读者更好地理解和应用...
三、dateWidget.js使用方法 在网页中引入`dateWidget.js`文件后,可以通过JavaScript代码实例化日历控件,并指定关联的输入元素: ```javascript var dateWidget = new DateWidget('#calendar', '#inputElement');...
js string转date;js构造date;js date详解;js日期处理
本篇文章将深入探讨`js date`相关的知识,同时也会提及一些常用的第三方库,如DP_DateExtensions.js、moment.js和xdate.js,它们提供了更丰富的日期处理功能。 首先,我们来了解JavaScript的`Date`对象。`Date`对象...
本作品主要为自定义的Date(),已完成基本功能,部分未实现功能(如获取星期)用户可自行添加,根据与已知的某个日期间隔天数及取余的方法就能在此类中添加获取星期的方法,其余功能就不多陈述,只要用户输入时间格式...
《深入解析Date.js:强大的JavaScript日期处理库》 在JavaScript编程中,日期处理是一个常见的需求,但原生的Date对象功能有限,对于复杂的日期和时间操作往往显得力不从心。这时,第三方库Date.js应运而生,它提供...
本文将深入探讨如何使用JavaScript将字符串转换为`Date`对象,并提供一个简单的实现方法。 首先,我们来看一下给定的代码片段: ```javascript var s=["2008-8-1","2009/9/2","10/3/2010"]; for(var i=0;i;i++){ ...
Date对象有个getDay方法,它根据本地时间,返回一个具体日期中一周的第几天。返回值从0~6,分别对应周日~周六 getDay 0 1 2 3 4 5 6 星期几 周日 周一 周二 周三 周四 周五 周六 用到日期相关的需求时...
web前端JavaScript DATE 用法思维导图,
"js_date_time.rar"可能是一个自定义实现的解决方案,但也可能是基于现有的JavaScript日期时间库,如Bootstrap Datepicker, jQuery UI Datepicker或者Moment.js等。这些库提供了丰富的功能,如语言支持、日期范围...
本文将深入探讨Pickadate.js 3.5.0版本的特性和使用方法,帮助开发者更好地理解和应用这一插件。 一、Pickadate.js简介 Pickadate.js由Amir Salihefendic开发,是一款轻量级且高度可定制的日历组件,提供日期和...