一个关于日期选择的很实用的小东西

原创 2004年03月05日 13:41:00

以前做页面时经常需要制作日期选择框,例如出生日期、查询日期等等,通常的做法是制作三个下拉列表(select),分别用于选择年、月、日,但该方法在各方面的表现都很令人不耐烦,于是我做了这个日期选择页面,它不是组件,也不是函数,只是一个普通的ASP页面,用于返回用户选择的日期变量。

************************************************************************

<%
'day.asp
%>
<html>
 <head>
  <title>选择日期                </title>
   <style type=text/css>
    <!--
    body{margin:0;font-size:9pt;color:#5E639B}
    td{font-size:9pt;color:#000000}
    a:link {color:#000000;text-decoration: none}
    a:visited {color:#000000;text-decoration: none}
    a:active {color:#000000;text-decoration: none}
    a:hover { color:#ff3333;text-decoration: none}
    -->
   </style>
   <Script  Language="JavaScript">
    function getDay(v){
     window.opener.document.<%=request.querystring("form")%>.<%=request.querystring("field")%>.value=v;
     window.close();
     return false;
    }
   </Script>
 </head>
 <body bgcolor=#ffffff onBlur="window.focus()">
<%
oldDate=request("oldDate")
if not isDate(oldDate) then oldDate=date
yy=year(cdate(oldDate))
mm=month(cdate(oldDate))
if request("yy")<>"" then yy=request("yy")
if request("mm")<>"" then mm=request("mm")
if yy="" then yy=year(date)
if mm="" then mm=month(date)
if mm>12 then mm=1:yy=yy+1
if mm<1 then mm=12:yy=yy-1

dim m(12)
m(1)=31
m(3)=31
m(5)=31
m(7)=31
m(8)=31
m(10)=31
m(12)=31
m(2)=28
m(4)=30
m(6)=30
m(9)=30
m(11)=30
if (yy mod 4=0 and yy mod 100<>0) or yy mod 400=0 then m(2)=29
mms=m(mm)
week1=(weekday(cdate(yy & "-" & mm & "-1"))-1)
%>
     <table width=250 cellspacing=1 cellpadding=0 bgcolor=#FFDFDF align=center>
      <tr>
       <td colspan=7 align=center>
        <table width=100% height=20 cellspacing=0 cellpadding=0>
         <tr height=20>
          <td width=30 align=center>
           <a href=day.asp?form=<%=request("form")%>&field=<%=request("field")%>&yy=<%=(yy-1)%>&mm=<%=mm%>>
            <font face=webdings style=color:#000000 title="上一年">7</font>
           </a>
          <td width=30 align=center>
           <a href=day.asp?form=<%=request("form")%>&field=<%=request("field")%>&mm=<%=(mm-1)%>&yy=<%=yy%>>
            <font face=webdings style=color:#000000 title="上一月">3</font>
           </a>
          <td width=130 align=center style="FONT:9pt Verdana,Geneva,sans-serif;color:#CD0101">
           <b><%=yy%> 年 &nbsp; <%=mm%> 月</b>
          <td width=30 align=center>
           <a href=day.asp?form=<%=request("form")%>&field=<%=request("field")%>&mm=<%=(mm+1)%>&yy=<%=yy%>>
            <font face=webdings style=color:#000000 title="下一月">4</font>
           </a>
          <td width=30 align=center>
           <a href=day.asp?form=<%=request("form")%>&field=<%=request("field")%>&yy=<%=(yy+1)%>&mm=<%=mm%>>
            <font face=webdings style=color:#000000 title="下一年">8</font>
           </a>
        </table>
      <tr bgcolor=#ffffff height=20>
       <td width=35 align=center bgcolor=#FFF4F4 style=color:#ff6633>日
       <td width=35 align=center bgcolor=#FFF4F4>一
       <td width=35 align=center bgcolor=#FFF4F4>二
       <td width=35 align=center bgcolor=#FFF4F4>三
       <td width=35 align=center bgcolor=#FFF4F4>四
       <td width=35 align=center bgcolor=#FFF4F4>五
       <td width=35 align=center bgcolor=#FFF4F4>六
<%
if week1<>0 then
 response.write "<tr>"
  for i=1 to week1
   response.write "<td width=35 height=20 bgcolor=#ffffff>&nbsp;"
  next
end if
for i=1 to mms
 if (i+week1-1) mod 7=0 then response.write "<tr>"
 response.write "<td width=35 height=20 align=center bgcolor=#ffffff>"
 if cdate(yy & "-" & mm & "-" & i)=date() then
%>
<input type=button value=<%=i%>
 style="BORDER:#CD0101 1px groove;width:30;height:16;font-size:9pt;background-color:#FFD9D9;color:#CD0101"
 onclick="javascript:getDay('<%=yy%>-<%=mm%>-<%=i%>');" title="<%=yy%>年<%=mm%>月<%=i%>日(今天)">
<%
 else
%>
<input type=button value=<%=i%>
 style="BORDER:#000000 1px groove;width:30;height:16;font-size:9pt;background-color:#ffffff;color:#000000"
 onclick="javascript:getDay('<%=yy%>-<%=mm%>-<%=i%>');" title="<%=yy%>年<%=mm%>月<%=i%>日">
<%
 end if
next
if (mms+week1) mod 7<>0 then
 for i=1 to (7-((mms+week1) mod 7))
  response.write "<td width=35 height=20 bgcolor=#ffffff>&nbsp;"
 next
end if
%>
     </table><br>
<div align=center><a href="javascript:window.close()">〖关闭本窗口〗</a></div>
 </body>
</html>

************************************************************************

调用day.asp页面的代码:

<form name=form1>
<input name=date1 value=<%=date()%> readonly onClick="JavaScript:window.open('day.asp?form=form1&field=date1&oldDate='+this.value,'','directorys=no,toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,width=250,height=200,top=220,left=250');"
</form>

************************************************************************

其中,打开day.asp页面时,需要传递几个参数,分别是:

1)form:日期选择框所在的表单名称,本例为form1,可根据应用自行更改

2)field:日期选择框的名称,本例为date1,可根据应用自行更改

3)olddate:日期选择框的当前值,不需改动。

 

我叫“积木”,欢迎和我成为朋友!

my5243@hotmail.com

http://www.ecolor99.com/jim

My97DatePicker两个日期范围不超过30天,第一个小于第二个,都不大于当前日期

My97DatePicker是很不错的一个日期选择插件,体积只有几十k但是功能非常强大。官网:http://www.my97.net/ 能满足很多苛刻的要求。 My97DatePicker 如果...
  • liusaint1992
  • liusaint1992
  • 2015年06月18日 21:35
  • 5023

UIDatepicker日期选择框的使用与日期键盘的定义

第一部分:日期选择框的简单使用 1.1 选择iPhone屏幕 1.2 拖进一个UIPickerView日期选择框 运行后发现全是英文显示 如下图所示: 1.3  打开storyboard对...
  • u013087513
  • u013087513
  • 2016年01月09日 00:56
  • 1120

同时选择日期和时间的对话框DateTimePickDialog

1.布局文件res/layout/comm_datetime.xml
  • qq_31028313
  • qq_31028313
  • 2016年09月27日 16:03
  • 1304

日期时间选择插件 - laydate.js

基于原生JavaScript精心雕琢,兼容了包括IE6在内的所有主流浏览器。她具备优雅的内部代码,良好的性能体验,和完善的皮肤体系,并且完全开源,你可以任意获取开发版源代码,一扫某些传统日期控件的封闭...
  • phpfer
  • phpfer
  • 2015年11月02日 23:51
  • 4625

数学建模十大经典算法漫谈

数学建模十大算法漫谈   作者:July  二零一一年一月二十九日 本文参考: I、  细数二十世纪最伟大的十大算法 [译者:本人July] II、 本BLOG内 经典算法研究系列 III...
  • chenglechao
  • chenglechao
  • 2013年10月18日 15:13
  • 1856

Android日期显示和选择库

日期显示和日期选择库,可以用来选择一段连续的和多个不连续的日期,具体的显示UI完全抽象出来供自定义实现,灵活性比较高(GITHUB地址)...
  • Tibib
  • Tibib
  • 2016年04月20日 16:42
  • 1070

my97时间控件 选择多个日期

my97,时间控件, 选择多个日期
  • wiseyl
  • wiseyl
  • 2016年12月01日 15:12
  • 2247

一个未完成的小东西

import os import sys path_py = os.path.split( os.path.realpath( sys.argv[0] ) )[0] #脚本所在目录 path_ID_...
  • sydnever
  • sydnever
  • 2013年03月24日 14:13
  • 323

Android 选择日期时间对话框(可选择开始结束时间,已解决弹出键盘问题)

直接行代码: MainActivity:package wkk.demo6;import android.app.AlertDialog; import android.app.DatePicker...
  • w18756901575
  • w18756901575
  • 2016年05月19日 18:44
  • 4622

基于vue2.0+vuex的日期选择组件

calendar vue日期选择组件 介绍 一个选择日期的vue组件 基于vue2.0 + vuex 原本是想找这样的一个组件的,查看了vuex后,发现vuex的写法还不是...
  • sinat_17775997
  • sinat_17775997
  • 2017年02月09日 09:41
  • 2971
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个关于日期选择的很实用的小东西
举报原因:
原因补充:

(最多只允许输入30个字)