惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
I
InfoQ
C
Check Point Blog
IT之家
IT之家
MyScale Blog
MyScale Blog
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
Last Week in AI
Last Week in AI
GbyAI
GbyAI
P
Proofpoint News Feed
量子位
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
人人都是产品经理
人人都是产品经理
B
Blog
T
The Blog of Author Tim Ferriss
H
Help Net Security
云风的 BLOG
云风的 BLOG

博客园 - 荒芜

.NET源码之Page类(二) .Net源码之Page类(一) Div的层 社区动力的一站式登陆 Microsoft Application Center Test Assembly学习心得(转贴) 经典正则表达式 正则表达式 水晶报表 A Simpler Ajax Path xml常见问题 XML对象 - 荒芜 - 博客园 AJAX:Getting Started Ajax: A New Approach to Web Applications Ajax UTF-8编码研究 Unicode编码 谈组件技术(一) 什么是ERP?
处理了与日期相关的一些函数
荒芜 · 2007-03-10 · via 博客园 - 荒芜

//======================================================================================================================
//说明:本JS文件中主要处理了与日期相关的一些函数。
//function IsEmpty(obj)         日期是否为空判断
//function IsDate(fDate)        检查是否为有效日期, 否则提醒
//function CovertToStandard(date)      转换为能够转换为日期的正规string格式,再转换为日期
//function CompareDate(NowDate,ComDate)     两个日期比较
//function CheckDateRegion(object1,object2,seconds)  核查两个有关联的日期是否满足他们之间的关系(以秒为单位)
//======================================================================================================================

//以月份为单位限定两个日期的差距
function CheckDateRegion_Month(object1,object2,months)
{
 seconds = months * 30 * 24 * 60 * 60;
 CheckDateRegion(object1,object2,hours);
}
//以天数为单位限定两个日期的差距
function CheckDateRegion_Day(object1,object2,days)
{
 seconds = days * 24 * 60 * 60;
 CheckDateRegion(object1,object2,hours);
}
//以小时为单位限定
function CheckDateRegion_Hour(object1,object2,hours)
{
 seconds = hours * 60 * 60;
 CheckDateRegion(object1,object2,hours);
}
///////////////////////////////////////////////核查两个有关联的日期是否满足他们之间的关系(以秒为单位)////////////////////////////////////////////////
function CheckDateRegion(object1,object2,seconds)
{
 if(IsEmpty(object1)||IsEmpty(object2))
 {
  return false;//其中有一个为空
 }
 var startDate = document.all(object1).value;
 var endDate = document.all(object2).value; 
 if((!IsDate(endDate))||(!IsDate(startDate)))
 {
  alert("不是正确的日期格式");
  return false;
 }
 SDate = CovertToStandard(startDate);
 EDate = CovertToStandard(endDate);
 Msecond  = (SDate - EDate)/1000;//转换为秒
 if(abs(Msecond)>seconds)
  return false;
}
///////////////////////////////////////////////转换为能够转换为日期的正规string格式,再转换为日期//////////////////////////////
function CovertToStandard(date)
{
 var ss = date.split(" ");
 var bb = ss[0].split("-");
 var Str = bb[1]+"/"+bb[2]+"/"+bb[0]+" "+ss[1];
 regularStr = new Date(Str);
 return (regularStr);
}
///////////////////////////////////////////////  不能大于当前日期  ////////////////////////////////////////////////
///大于当前日期返回假,否则返回真
function BeforeCurrentDate(ComDate)
{
 nowDate = new Date();
 if(CompareDate(nowDate,ComDate))
 {
  return false;//alert("大于当前日期");
 }
 else
 {
  return true;//alert("小于当前日期");
 }
 
}
///////////////////////////////////////////////  两个日期比较  ////////////////////////////////////////////////
function CompareDate(NowDate,ComDate)
{
 if(ComDate>NowDate)
  return true; 
 else
  return false;
}

///////////////////////////////////////////////  日期是否为空判断  ////////////////////////////////////////////////
///为空返回真,否则返回假
function IsEmpty(obj)
{
 var empty = document.all(obj).value;
 if(empty=="")
 {
  alert("不允许为空");
  return true;
 }
 else
 {
  return false;
 }
}
//////////////////////////////////////////////// 检查是否为有效日期, 否则提醒 ////////////////////////////////////////////////
//有效日期返回真,否则返回假
function IsDate(fDate)
{
 if (vbIsDate(fDate))
  return true;
 return false;
}
////////////////////////////////////////////////   引用VB的JS文件   ////////////////////////////////////////////////
document.write("<script language=\"VBScript\" src=\"..\/js\/vbfunction.vbs\"><\/script>");//引用vb的教本文件


/////
////失败的函数
////
//////////////////////////////^&&&&&&&&&&&&&&&&不成功的&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&////////////////////////////////
//检查日期格式是否正确
//参数data:这个对象的值
//年份是4位数的数字
//月份是0-12月
//日期是30,31天要分出来的,2月份要另外的处理
//小时是0-23小时
//分钟是0-59分钟
//秒是0-59秒
function CheckDateStyle(date)
{
 var reg = /\d{4}-(?:[0][1-9]|[1][0-2])-\d{2}[ ](?:[0-1][0-9]|[2][0-3])[:][0-5][0-9][:][0-5][0-9]/;
 if(!reg.test(date))
 {
  alert("日期格式不正确,正确格式:YYYY-MM-dd HH:MM:SS");
  return false;
 }
 else
 {
  return true;
 }