`

自定义的日期函数包

阅读更多
DatePackage.asp(日期函数包)

<%
'日期函数包DataPackage
%>
<script language="javascript">
function IsDateString(Str)
<!--
{
// 校验是否YYYY-MM-DD格式的日期型数据,返回值为True成功,否则返回False
// 如果传递的是空字符串则返回False
// 定义分隔符
var sSplit="-"

var iYearPos=Str.indexOf(sSplit);
if (iYearPos==-1) return false;

var iMonthPos=Str.indexOf(sSplit,iYearPos+1);
if (iMonthPos==-1) return false;

// 分离出年份
sYear=Str.substr(0,iYearPos);
// 分离出月份
sMonth=Str.substr(iYearPos+1,iMonthPos-iYearPos-1);
//月份长度为二
if (sMonth.length!=2) return false;
if (sMonth.substr(0,1)=="0") sMonth=sMonth.substr(1);
// 分离出日期
sDay=Str.substr(iMonthPos+1);
//日长度为二
if (sDay.length!=2) return false;
if (sDay.substr(0,1)=="0") sDay=sDay.substr(1);

// 年份是否数字?
if (isNaN(sYear)) return false;
var iYear=parseInt(sYear);
// 年份是否整数?
if (sYear!=iYear) return false;
// 年份是否在1000-9999之间?
if (iYear<1000 || iYear>9999) return false;

// 月份是否数字?
if (isNaN(sMonth)) return false;
var iMonth=parseInt(sMonth);
// 月份是否整数?
if (sMonth!=iMonth) return false;
// 月份是否在1-12之间?
if (iMonth<1 || iMonth>12) return false;

// 日期是否数字?
if (isNaN(sDay)) return false;
var iDay=parseInt(sDay);
// 日期是否整数?
if (sDay!=iDay) return false;
// 日期是否在1-31之间?
if (iDay<1 || iDay>31) return false;

if (iDay<29) return true;

// 日期数据是否合法的?
switch (iMonth)
{
case 1:
if (iDay>31) return false;
break;
case 2:
if (IsLeapYear(iYear))
{
if (iDay>29) return false;
}
else
{
if (iDay>28) return false;
}
break;
case 3:
if (iDay>31) return false;
break;
case 4:
if (iDay>30) return false;
break;
case 5:
if (iDay>31) return false;
break;
case 6:
if (iDay>30) return false;
break;
case 7:
if (iDay>31) return false;
break;
case 8:
if (iDay>31) return false;
break;
case 9:
if (iDay>30) return false;
break;
case 10:
if (iDay>31) return false;
break;
case 11:
if (iDay>30) return false;
break;
case 12:
if (iDay>31) return false;
}

return true;

}

function IsLeapYear(Y)
{
// 年份是否为闰年

if (Y % 4 !=0) return false;
if (Y % 400 == 0) return true;
if (Y % 100 == 0) return false;
}

-->
</script>

<%
'**********************
'目的:将日期转换成标准日期字符串
'输入:日期
'输出:日期字符串,如:2002-12-22
'**********************
Function getdatestr(ddate)
dim strtmp
getdatestr = DatePart("yyyy",ddate)
strtmp = trim(DatePart("m",ddate))
if len(strtmp)=1 then strtmp="0" & strtmp
getdatestr = getdatestr & "-" & strtmp
strtmp = trim(DatePart("d",ddate))
if len(strtmp)=1 then strtmp="0" & strtmp
getdatestr = getdatestr & "-" & strtmp
End Function
'**********************

'**********************
'目的:将日期时间转换成标准日期时间字符串
'输入:日期时间
'输出:日期时间字符串,如:2002-12-22
'**********************
Function gettimestr(ddate)
dim strtmp
gettimestr = DatePart("yyyy",ddate)
strtmp = trim(DatePart("m",ddate))
if len(strtmp)=1 then strtmp="0" & strtmp
gettimestr = gettimestr & "-" & strtmp
strtmp = trim(DatePart("d",ddate))
if len(strtmp)=1 then strtmp="0" & strtmp
gettimestr = gettimestr & "-" & strtmp
gettimestr = gettimestr & " " & trim(DatePart("h",ddate))
gettimestr = gettimestr & ":" & trim(DatePart("m",ddate))
End Function
'**********************

'**********************
'目的:计算一月的总天数
'输入:年,月
'输出:天数
'**********************
function getmonthdays(myyear,mymonth)
dim thismonthfirday,nextmonthfirday
'取得当前年月的1日日期
thismonthfirday=myyear & "-" & mymonth & "-1"
'取得下个月1日的日期
nextmonthfirday=dateadd("m",1,thismonthfirday)
'取得当前月的天数
getmonthdays=DateDiff("d",thismonthfirday,nextmonthfirday)
end function
'**********************

'**********************
'目的:返回格式化日期
'输入:任何类型参数
'输出:格式化后的日期
'**********************
Function FormatDateEx(D)

dim varTemp

if IsDate(D) then
varTemp="'" & D & "'"
else
varTemp="NULL"
end if

FormatDateEx=varTemp

End Function
'**********************

'DatePackage End
%>

DataBasePackage.asp(数据库函数包)
<%
'数据库操作函数包DatabasePackage

'conn.Open Driver & DBPath
'Set CreateExcelRecordset = Server.CreateObject("ADODB.Recordset")
'打开Sheet,参数二为Connection对象,因为Excel ODBC驱动程序无法直接用‘sheet名来打开sheet,所以请注意以下的select语句
'CreateExcelRecordset.Open "Select * From ["&sheet&”$]”, conn, 2, 2
'**********************
'目的:取得各种数据库连接字符串
'输入:数据库服务器名、数据库名、用户ID、密码
'输出:数据库连接字符串
'**********************
Function GetConnStr(pServer,pDb,pId,pPwd,pType)
Dim strConn
strConn = ""
if pType="SQLSERVER" then
strConn = "Driver={SQL Server};Server=" & pServer & ";Database=" & pDb
strConn = strConn & ";Uid=" & pId & ";Pwd=" & pPwd & ";"
end if

if pType="ACCESS" then
strConn = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & Server.MapPath(pDb)
strConn = strConn & ";password=" & pPwd
end if

if pType="EXCEL" then
strConn = "Driver={Microsoft Excel Driver (*.xls)};" & "DBQ=" & Server.MapPath(pDb)
end if

GetConnStr = strConn

End Function
'**********************

'**********************
'目的:返回客户名称
'输入:客户ID
'输出:客户名称
'**********************
Function GetCustomerName(ID)

dim cn
dim rs
dim strSQL

set cn=server.CreateObject("ADODB.Connection")
set rs=server.CreateObject("ADODB.RecordSet")

cn.Open Application("ConnStr")

strSQL="select UserName from P_User_Info where Id=" & ID
rs.Open strSQL,cn
if rs.EOF then
GetCustomerName=""
else
GetCustomerName=rs("UserName")
end if

rs.Close
cn.Close
set rs=nothing
set cn=nothing
End Function
'**********************


'**********************
'目的:判断表中某字段值是否已经存在
'输入:表名、字段名、关键字
'输出:true or false
'**********************
Function IsExist(TableName,FieldName,FieldValue)

dim cn
dim rs
dim blnTemp
dim strconn

set cn = server.CreateObject("ADODB.Connection")
set rs = server.CreateObject("ADODB.Recordset")

strconn = GetConnStr(cnstDataSvr,cnstDataName,cnstUserId,cnstUserPwd,"SQLSERVER")
cn.open strconn
with rs
.open "select " & FieldName & " from " & TableName & " where " & FieldName & "='" & FieldValue & "'",cn
blnTemp = not .EOF
.close
end with
cn.close
set rs = nothing
set cn = nothing

IsExist = blnTemp

End Function
'**********************

'**********************
'目的:事务处理更新后台数据
'输入:SQL执行字符串和错误信息字符串
'输出:true or false
'**********************
Function ExecuteUpdate(strSQL)
dim cn,strconn
ExecuteUpdate = false
set cn = server.CreateObject("ADODB.Connection")
strconn = GetConnStr(cnstDataSvr,cnstDataName,cnstUserId,cnstUserPwd,"SQLSERVER")
cn.open strconn
on error resume next
cn.begintrans
cn.Execute strSQL
if cn.errors.count>0 then
cn.rollbacktrans
else
cn.committrans
ExecuteUpdate = true
end if
cn.Close
set cn = nothing
End Function
'**********************

'**********************
'目的:取字段预定义值
'输入:数据库连接,字段中文名,字段中文值
'输出:字符串
'ts_TypeColValue:字段预定义常数表
'**********************
Function getFieldValue(pConn,pTable,pField,pValue)
dim strSql,rstmp
set rstmp = server.createobject("adodb.recordset")

strSql = "select * from ts_TypeColValue where TableName=" & pTable
strSql = strSql & " and ColCnNm=" & pField & "and TypeColName=" & pValue
rstmp.open strSql,pConn,1,3
if rstmp.recordcount>0 then
getFieldValue = rstmp("TypeColVal")
else
getFieldValue = ""
end if
rstmp.close
set rstmp = nothing
End Function
'**********************

'DatabasePackage End
%>

AccessDbPackage.asp(ACCESS数据库访问函数包)
<%
'ACCESS数据库操作函数包AccessDbPackage

'*************************
'ACCESS数据库操作方法
'*************************
function CreateDBfile(DbVer,SaveFileName)
'建立数据库文件
'If DbVer is 0 Then Create Access97 dbFile
'If DbVer is 1 Then Create Access2000 dbFile
On error resume Next
If DbExists(FileName) Then
%>
<script language="javascript">
window.alert("对不起,该数据库已经存在!");
</script>
<%
CreateDBfile = False
Else
Dim Ca
Set Ca = Server.CreateObject("ADOX.Catalog")
If Err.number<>0 Then
%>
<script language="javascript">
window.alert("无法建立,请检查错误信息
" & Err.number & "
" & Err.Description);
</script>
<%
Err.Clear
Exit function
End If
If DbVer=0 Then
call Ca.Create("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & FileName)
Else
call Ca.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName)
End If
Set Ca = Nothing
CreateDBfile = True
End If
End function

function DbExists(dbPath)
'查找数据库文件是否存在
On Error resume Next
Dim c
Set c = Server.CreateObject("ADODB.Connection")
c.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath
If Err.number<>0 Then
Err.Clear
DbExists = false
else
DbExists = True
End If
set c = nothing
End function

'AccessDbPackage End
%>

aspextend.asp(HTML扩展函数)
<%
'ASP控件扩展函数包AspPackage

'**********************
'目的:判断两值相等,输出"selected",用于标志组合框项目被选中
'输入:参数一、参数二
'输出:"selected"或""
'**********************
Function Selected(req,reqvalue)
if req=reqvalue then
selected=" selected"
else
selected=""
end if
End Function
'**********************

'**********************
'目的:判断两值相等,输出"checked",用于标志复选框被选中
'输入:参数一、参数二
'输出:"checked"或""
'**********************
Function Checked(req,reqvalue)
if req=reqvalue then
checked=" checked"
else
checked=""
end if
End Function
'**********************


'*********************************
'符合条件背景置色(历史数据,custid>=10000000)
'*********************************
Function SetBackColor(req,reqvalue,dfaultcolor,color)
If req>=reqvalue Then
SetBackColor=color
Else
SetBackColor=dfaultcolor
End if

End Function
'*********************************

'*********************************
'符合条件背景置色(区分打印非打印记录)
'*********************************
Function SetPrintColor(req,reqvalue,dfaultcolor,color)
If req>=reqvalue Then
SetPrintColor=color
Else
SetPrintColor=dfaultcolor
End if

End Function
'*********************************
'AspPackage End
%>

分享到:
评论

相关推荐

    excel中161个VBA_自定义函数(超级实用)

    Excel VBA 自定义函数大全是一个功能强大且实用的函数集合,包含 161 个自定义函数,涵盖了各种实用的功能,以下是对这些函数的详细说明: 1. 函数作用:返回 Column 英文字 该函数可以返回指定 Column 中的英文...

    我整理的VBA 自定义函数大全 共138页

    75.删除单元格自定义名称 76.从文件路径中取得文件名 77.取得一个文件的扩展名 78.取得一个文件的路径 79.十进制转二进制 80.检查一个数组是否为空 81.字母栏名转数字栏名 82.数字栏名转文字栏名 83.判断一件活页夹...

    excel中161个VBA_自定义函数超级实用

    函数作用:计算日期差,除去星期六、星期日...........45 '18.函数作用:将英文字反转的自定函数...................46 '19.函数作用:计算个人所得税...........................46 '20.函数作用:一个能计算是否有重复...

    MySql 是否工作日判断,得到T+n个工作日(含自定义节假日)函数

    1、Mysql 判断指定日期是否工作日(带自定义节假日、法定节假日) 2、Mysql 得到T+n个工作日日期(带自定义节假日、法定节假日) fGetWorkDay('2018-02-13', 5) ------------------------------ 2018-02-26 ...

    Web选择日期时间控件

    1、极好的用于WEB页面的选择日期、时间的javascript控件。 2、包含4个javascript函数,其中Calendar.js,CalendarSetup.js是必须的,视情况使用calendar-zh.js(中文)或calendar-en.js(英文) 3、有8个不同的css文件,...

    bootstrap-daterange-picker-mod:引导日期范围选择器的修改版本支持删除自定义日期范围功能

    否则,您可以提供自定义回调函数来接收选择。 通过将singleDatePicker选项设置为true该组件还可以用作单个日期选择器。 或用法该组件依赖于 、 和 。 包含单独的样式表以用于 Bootstrap 2 或 Bootstrap 3。 基本...

    【会计实操经验】在Excel中判断单元格是否包含日期.pdf

    例如,以下代码可以创建一个自定义函数来判断单元格是否包含日期: Function Is_Date(expr) Application.Volatile Is_Date = IsDate(expr) End Function 然后,在单元格中输入公式: =Is_Date(A1) 如果A1...

    custom-functions:自定义函数示例加载项

    自定义函数 - 特殊加载项示例是一项社区驱动的工作,可帮助开发人员验证和了解 Office 加载项平台的一些特殊功能。 此存储库包含加载项源代码和清单。 任何人都可以做出贡献。 此存储库中的所有加载项都应功能齐全。...

    财税实务:在Excel中判断单元格是否包含日期.pdf

    可以创建一个自定义函数,如下所示: Function Is_Date(expr) Application.Volatile Is_Date = IsDate(expr) End Function 然后,在单元格中输入公式: =Is_Date(A1) 当 A1 单元格包含某个日期时,该公式返回 ...

    EXCEL函数培训(PPT教程52页) EXCEL函数培训(PPT教程52页)

    本课程涵盖了Excel函数的基本概念、函数的结构、逻辑函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数和用户自定义函数等十一类函数。...

    大数据学习:Hive函数.pdf

    日期函数用于处理日期和时间数据,常见的日期函数包括: * CURRENT_DATE():返回当前日期。 * CURRENT_TIMESTAMP():返回当前时间戳。 * DATE_SUB():计算两个日期之间的差异。 * DATE_ADD():计算日期加上或减去...

    可视化程序设计(VB)

    VB包含2种函数:系统自定义的函数和用户自定义的函数、系统定义的函数称为内部函数或标准库函数,用户可以再程序中随时调用,常见的函数有数学函数、字符串函数、转换函数、日期和时间函数、随机函数及格式输出函数...

    EXCEL常用函数内部培训资料完整版

    Excel是办公室自动化中非常重要的一款...Excel函数共包含11类,分别是数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。

    Date Range Picker:JavaScript 日期范围、日期和时间选择器组件-开源

    日期范围选择器是一个可自定义的日期范围、日期和时间选择器组件。... 您可以使用选项自定义日期范围选择器,并通过提供回调函数在用户选择新日期时收到通知。 将选择器附加到的元素上会触发多个事件。

    EXCEL函数最新应用大全-中高级人员学习资料.xls

    Excel是办公室自动化中非常重要的一款...Excel函数共包含11类,分别是数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。

    C语言获取当前日期和时间.zip

    资源说明: 使用C语言获取系统当前的日期和时间,包括Linux和Windows环境下的不同函数...同时,使用自己编写的获取日期和时间的函数自定义实现延时函数的功能。 包含文件: 源文件 dateTime.c 和头文件 dateTime.h。

    edk-date-picker:一个自定义的Web组件元素,它提供了一个自定义的日期选择器,并通过考虑材料设计原则进行开发

    库用于日期函数。 包含本地化属性的Javascript文件包含在此组件中。 因此,可以使用“ locale”属性轻松设置任何语言。 默认值是土耳其语。 例子 使用简单: &lt;edk&gt;&lt;/edk&gt; 综合用途: &lt;edk-date-picker range-...

    一个后端静态资源模板,快速搭建网页的必备

    后端静态资源模板的主要功能包括以下几个方面:...自定义标签和函数:模板引擎可以使用自定义标签和函数来扩展其功能。例如,可以定义一个自定义标签来生成特定的 HTML 代码,或者定义一个自定义函数来对数据进行处理。

    Swift 操作时间的工具包

    轻松日期解析(自定义格式、iso8601、rss 等) 即使使用口语格式化程序和支持 140 多种语言,也能轻松设置日期格式 使用时间单位进行简单的数学运算( 2.hours + 5.minutes...) 直观的组件提取(day, hour, ...

    oracle高级语法(事物、函数、存储过程、触发器、异常)[参照].pdf

    函数可以用于计算、字符串处理、日期处理等。 Oracle 的函数有两种:内置函数和用户定义函数。内置函数是 Oracle 数据库提供的函数,例如 max、min、avg、count 等。用户定义函数是用户自定义的函数,可以用于实现...

Global site tag (gtag.js) - Google Analytics