`
fuyangchang
  • 浏览: 147199 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

JS日期和时间选择控件

阅读更多
Calendar.js(注:在.net环境下.js文件需存为utf-8格式)


/**//**//**//**
 *本日历选择控件由tiannet根据前人经验完善而得。大部分代码来自meizz的日历控件。
 *tiannet添加了时间选择功能、select,object标签隐藏功能,还有其它小功能。
 *使用方法:
 * (1)只选择日期   <input type="text" name="date"   readOnly onClick="setDay(this);">
 * (2)选择日期和小时  <input type="text" name="dateh"  readOnly onClick="setDayH(this);">
 * (3)选择日期和小时及分钟 <input type="text" name="datehm" readOnly onClick="setDayHM(this);">
 *设置参数的方法
 * (1)设置日期分隔符    setDateSplit(strSplit);默认为"-"
 * (2)设置日期与时间之间的分隔符  setDateTimeSplit(strSplit);默认为" "
 * (3)设置时间分隔符    setTimeSplit(strSplit);默认为":"
 * (4)设置(1),(2),(3)中的分隔符  setSplit(strDateSplit,strDateTimeSplit,strTimeSplit);
 * (5)设置开始和结束年份    setYearPeriod(intDateBeg,intDateEnd)
 *说明:
 * 默认返回的日期时间格式如同:2005-02-02 08:08
 
*/

//------------------ 样式定义 ---------------------------//
//
功能按钮同样样式
var s_tiannet_turn_base = "height:16px;font-size:9pt;color:white;border:0 solid #CCCCCC;cursor:hand;background-color:#2650A6;";
//翻年、月等的按钮
var s_tiannet_turn = "width:28px;" + s_tiannet_turn_base;
//关闭、清空等按钮样式
var s_tiannet_turn2 = "width:22px;" + s_tiannet_turn_base;
//年选择下拉框
var s_tiannet_select = "width:64px;display:none;";
//月、时、分选择下拉框
var s_tiannet_select2 = "width:46px;display:none;";
//日期选择控件体的样式
var s_tiannet_body = "width:150;background-color:#2650A6;display:none;z-index:9998;position:absolute;" +
  
"border-left:1 solid #CCCCCC;border-top:1 solid #CCCCCC;border-right:1 solid #999999;border-bottom:1 solid #999999;";
//显示日的td的样式
var s_tiannet_day = "width:21px;height:20px;background-color:#D8F0FC;font-size:10pt;";
//字体样式
var s_tiannet_font = "color:#FFCC00;font-size:9pt;cursor:hand;";
//链接的样式
var s_tiannet_link = "text-decoration:none;font-size:9pt;color:#2650A6;";
//横线
var s_tiannet_line = "border-bottom:1 solid #6699CC";
//------------------ 变量定义 ---------------------------//
var tiannetYearSt = 1950;//可选择的开始年份
var tiannetYearEnd = 2010;//可选择的结束年份
var tiannetDateNow = new Date();
var tiannetYear = tiannetDateNow.getFullYear(); //定义年的变量的初始值
var tiannetMonth = tiannetDateNow.getMonth()+1//定义月的变量的初始值
var tiannetDay = tiannetDateNow.getDate();
var tiannetHour = 8;//tiannetDateNow.getHours();
var tiannetMinute = 0;//tiannetDateNow.getMinutes();
var tiannetArrDay=new Array(42);          //定义写日期的数组
var tiannetDateSplit = "-";     //日期的分隔符号
var tiannetDateTimeSplit = " ";    //日期与时间之间的分隔符
var tiannetTimeSplit = ":";     //时间的分隔符号
var tiannetOutObject;      //接收日期时间的对象
var arrTiannetHide = new Array();//被强制隐藏的标签
var m_bolShowHour = false;//是否显示小时
var m_bolShowMinute = false;//是否显示分钟

var m_aMonHead = new Array(12);         //定义阳历中每个月的最大天数
    m_aMonHead[0= 31; m_aMonHead[1= 28; m_aMonHead[2= 31; m_aMonHead[3= 30; m_aMonHead[4]  = 31; m_aMonHead[5]  = 30;
    m_aMonHead[
6= 31; m_aMonHead[7= 31; m_aMonHead[8= 30; m_aMonHead[9= 31; m_aMonHead[10= 30; m_aMonHead[11= 31;
// ---------------------- 用户可调用的函数 -----------------------------//
//
用户主调函数-只选择日期
function setDay(obj)...{
 tiannetOutObject 
= obj;
 
//如果标签中有值,则将日期初始化为当前值
 var strValue = tiannetTrim(tiannetOutObject.value);
 
if( strValue != "" )...{
  tiannetInitDate(strValue);
 }

 tiannetPopCalendar();
}

//用户主调函数-选择日期和小时
function setDayH(obj)...{
 tiannetOutObject 
= obj;
 m_bolShowHour 
= true;
 
//如果标签中有值,则将日期和小时初始化为当前值
 var strValue = tiannetTrim(tiannetOutObject.value);
 
if( strValue != "" )...{
  tiannetInitDate(strValue.substring(
0,10));
  
var hour = strValue.substring(11,13);
  
if( hour < 10 ) tiannetHour = hour.substring(1,2);
 }

 tiannetPopCalendar();
}

//用户主调函数-选择日期和小时及分钟
function setDayHM(obj)...{
 tiannetOutObject 
= obj;
 m_bolShowHour 
= true;
 m_bolShowMinute 
= true;
 
//如果标签中有值,则将日期和小时及分钟初始化为当前值
 var strValue = tiannetTrim(tiannetOutObject.value);
 
if( strValue != "" )...{
  tiannetInitDate(strValue.substring(
0,10));
  
var time = strValue.substring(11,16);
  
var arr = time.split(tiannetTimeSplit);
  tiannetHour 
= arr[0];
  tiannetMinute 
= arr[1];
  
if( tiannetHour < 10 ) tiannetHour = tiannetHour.substring(1,2);
  
if( tiannetMinute < 10 ) tiannetMinute = tiannetMinute.substring(1,2);
 }

 tiannetPopCalendar();
}

//设置开始日期和结束日期
function  setYearPeriod(intDateBeg,intDateEnd)...{
 tiannetYearSt 
= intDateBeg;
 tiannetYearEnd 
= intDateEnd;
}

//设置日期分隔符。默认为"-"
function setDateSplit(strDateSplit)...{
 tiannetDateSplit 
= strDateSplit;
}

//设置日期与时间之间的分隔符。默认为" "
function setDateTimeSplit(strDateTimeSplit)...{
 tiannetDateTimeSplit 
= strDateTimeSplit;
}

//设置时间分隔符。默认为":"
function setTimeSplit(strTimeSplit)...{
 tiannetTimeSplit 
= strTimeSplit;
}

//设置分隔符
function setSplit(strDateSplit,strDateTimeSplit,strTimeSplit)...{
 tiannetDateSplit(strDateSplit);
 tiannetDateTimeSplit(strDateTimeSplit);
 tiannetTimeSplit(strTimeSplit);
}

//设置默认的日期。格式为:YYYY-MM-DD
function setDefaultDate(strDate)...{
 tiannetYear 
= strDate.substring(0,4);
 tiannetMonth 
= strDate.substring(5,7);
 tiannetDay 
= strDate.substring(8,10);
}

//设置默认的时间。格式为:HH24:MI
function setDefaultTime(strTime)...{
 tiannetHour 
= strTime.substring(0,2);
 tiannetMinute 
= strTime.substring(3,5);
}

// ---------------------- end 用户可调用的函数 -----------------------------//
//
------------------ begin 页面显示部分 ---------------------------//
var weekName = new Array("","","","","","","");
document.write(
'<div id="divTiannetDate" style="'+s_tiannet_body+'" style="本日历选择控件由tiannet根据前人经验完善而成!">'
分享到:
评论

相关推荐

    JS日期和时间选择控件升级版(自写)

    1. JS日期时间选择控件的需求背景和功能改进: - 网上现有的日期选择程序存在一些问题,这些程序通常只包含日期选择功能,而没有时间选择功能。 - 为了弥补这一市场空缺,作者决定自行开发一个新的日期和时间选择...

    js移动端日期时间选择控件

    `js移动端日期时间选择控件` 是一种常见的交互元素,它允许用户方便地选取日期和时间,提高用户体验。在JavaScript(特别是原生JS)中,我们可以创建自定义的日期时间选择器,或者利用现有的开源库来实现这一功能。 ...

    WebForm下日期时间选择控件

    首先,日期时间选择控件允许用户方便地选取日期和时间,而无需手动输入。在WebForm中,ASP.NET提供了多种内置的日期时间选择控件,如`asp:Calendar`和`asp:DateTimePicker`。这些控件不仅提供基本的日期时间选择功能...

    日期选择时间控件 很强悍的

    在IT领域,尤其是在网页开发和用户界面设计中,日期选择时间控件是不可或缺的一部分。这样的控件允许用户方便地选择日期和时间,提高了交互性和用户体验。"日期选择时间控件"是一个强大的工具,通常用于在线表单、...

    选择日期控件(js封装类,javascript,选择日期,文本框选择日期,控件)

    选择日期控件(js封装类,javascript,选择日期,文本框选择日期,控件)

    移动端日期和时间选择控件lCalendar-master.zip

    - 通常,将`lCalendar`的CSS和JS文件引入到你的HTML页面中,然后通过JavaScript调用初始化方法来创建日期时间选择器。 - 可以通过npm或yarn等包管理工具安装,然后在项目中导入,遵循模块化开发。 - 需要注意适配...

    移动端日期时间选择控件

    在移动端应用开发中,日期时间选择控件是一个非常常见的组件,它允许用户方便地选取日期和时间,广泛应用于各种场景,如预约、日程安排、表单填写等。本话题将深入探讨移动端日期时间选择控件的设计原理、实现方式...

    HTML日期选择控件

    - Bootstrap DateTimePicker:这是基于Bootstrap框架的日期和时间选择插件,不仅支持日期选择,还支持时间选择。使用时,需要引入Bootstrap、moment.js和datetimepicker插件的CSS和JS文件,然后通过附加类名或...

    非常不错的JS日期选择控件可选择时间哦

    实现一个功能齐全且美观的日期时间选择控件,开发者通常需要考虑以下几点: 1. **跨浏览器兼容性**:由于JavaScript引擎在不同浏览器中的实现差异,确保控件在所有主流浏览器上都能正常工作是一项挑战。开发者可能...

    带时间选择的JS日期控件源码

    通过学习和理解这个源码,开发者不仅可以掌握创建自定义日期时间选择控件的技术,还能了解如何优化用户体验,提升网页应用的专业性。对于想要提升前端技能或开发相关应用的人员来说,这是一个非常有价值的参考资料。

    JavaScript日期时间选择控件

    JavaScript日期时间选择控件的实现有多种库和框架可供选择,如jQuery UI的Datepicker、Bootstrap的DateTimePicker、Pickadate.js和Flatpickr等。这些库通常提供丰富的API和配置选项,方便开发者根据需求进行定制。 ...

    JS日期和世间选择控件

    在开发过程中,我们经常需要处理日期和时间选择功能,这通常涉及到创建自定义的日期和时间选择控件。在给定的“JS日期和世间选择控件”主题中,我们可以深入探讨以下几个关键知识点: 1. **DOM操作**:在JavaScript...

    日期时间选择控件

    通过学习这份代码,我们可以了解如何使用JavaScript来创建一个功能完备、界面友好的日期时间选择器,包括如何监听用户的选择、如何处理日期和时间的格式化、如何将选择的值与表单或其他页面元素进行交互等。...

    3个js日期时间控件(2个可选小时分钟)

    本文将详细介绍三个JavaScript日期时间控件,特别关注其中两个支持选择小时和分钟的控件。 首先,我们要理解JavaScript的内置Date对象。这个对象提供了处理日期和时间的各种方法和属性,如`getFullYear()`、`...

    好用的日期时间选择控件

    在这个日期时间选择控件中,JavaScript扮演了关键角色,它提供了丰富的功能和灵活性,允许用户在不刷新页面的情况下与日期时间输入框进行交互。这种控件通常会有一个日历图标,点击后会弹出一个日历,让用户可以方便...

    JS/WEB日期时间控件

    日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期时间控件,出错,害人了..日期...

    日期时间选择控件V1.0

    日期时间选择控件在网页开发中扮演着重要角色,它为用户提供了一种便捷的方式来输入或选择日期和时间,尤其在创建表单时非常实用。"日期时间选择控件V1.0"是一个自编的组件,专为满足这种需求而设计。这个控件的核心...

    js日期时间控件-日期,时间

    可以选择时间的控件,js日期时间...可以选择时间的控件,js日期时间控件可以选择时间的控件,js日期时间控件可以选择时间的控件,js日期时间控件可以选择时间的控件,js日期时间控件可以选择时间的控件,js日期时间控件

Global site tag (gtag.js) - Google Analytics