日历控件

elementUI时间选择器(el-date-picker)输入格式的转换与自定义 目录1、背景2、方案设计3、说明 1、背景 现在很多的web端管理系统会选用vue+element-ui这套技术体系去实现前端界面开发。在使用时间控件的时候的时候,很多用户会希望输入202103100915能够显示成2021-03-10 09:15或2021/03/10 09:15等,总而言之就是输入方便,显示优美。效果如下图所示: 2、方案设计 刚刚听SA给我提这个需求的时候,我的第一反应就是去Element官网看看是否有什么属性支持自定义输入的,还真别说,找到了下面两个属性,于是就迫不及待的拿来试了试 阅读详情

   <script language="javascript" type="text/javascript">
    var gdCtrl = new Object();
var gcGray = "#808080";
var gcToggle = "highlight";
var gcBG = "threedface";
var gMonths = new Array("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月");
var gdCurDate = new Date();
var giYear = gdCurDate.getFullYear();
var giMonth = gdCurDate.getMonth()+1;
var giDay = gdCurDate.getDate();
var sxYear = giYear;
var sxMonth = giMonth;
var sxDay = giDay;
var sxDatestr = gdCtrl.value;
if (sxDatestr != ""){
var sxDate = new Date(sxDatestr);
sxYear = sxDate.getFullYear();
}
var VicPopCal = new Object();
function mouseover(obj){
obj.style.borderTop = 'buttonshadow 1px solid';
obj.style.borderLeft = 'buttonshadow 1px solid';
obj.style.borderRight = 'buttonhighlight 1px solid';
obj.style.borderBottom = 'buttonhighlight 1px solid';
}
function mouseout(obj){
obj.style.borderTop = 'buttonhighlight 1px solid';
obj.style.borderLeft = 'buttonhighlight 1px solid';
obj.style.borderRight = 'buttonshadow 1px solid';
obj.style.borderBottom = 'buttonshadow 1px solid';
}
function mousedown(obj){
obj.style.borderTop = 'buttonshadow 1px solid';
obj.style.borderLeft = 'buttonshadow 1px solid';
obj.style.borderRight = 'buttonhighlight 1px solid';
obj.style.borderBottom = 'buttonhighlight 1px solid';
}
function mouseup(obj){
obj.style.borderTop = 'buttonhighlight 1px solid';
obj.style.borderLeft = 'buttonhighlight 1px solid';
obj.style.borderRight = 'buttonshadow 1px solid';
obj.style.borderBottom = 'buttonshadow 1px solid';
}
function fPopCalendar(popCtrl, dateCtrl, popCal){
VicPopCal = popCal;
gdCtrl = dateCtrl;
fSetYearMon(giYear, giMonth);
var point = fGetXY(popCtrl);
with (VicPopCal.style) {left = point.x;top  = point.y+popCtrl.offsetHeight+1;visibility = 'visible';}
VicPopCal.focus();
}
function fSetDate(iYear, iMonth, iDay){
if ((iYear == 0) && (iMonth == 0) && (iDay == 0)){
gdCtrl.value = "";
}
else{
if (iMonth < 10){iMonth = "0"+iMonth;}
if (iDay < 10){iDay = "0"+iDay;}
gdCtrl.value = iYear+"-"+iMonth+"-"+iDay;
}
VicPopCal.style.visibility = "hidden";
}
function fSetSelected(aCell){
var iOffset = 0;
var iYear = parseInt(document.all.tbSelYear.value);
var iMonth = parseInt(document.all.tbSelMonth.value);
aCell.bgColor = gcBG;
with (aCell.children["cellText"]){
var iDay = parseInt(innerText);
if (color==gcGray){iOffset = (Victor<10)?-1:1;}
iMonth += iOffset;
if (iMonth<1) { iYear--; iMonth = 12;}else{if (iMonth>12){iYear++;iMonth = 1;}}
}
fSetDate(iYear, iMonth, iDay);
}
function Point(iX, iY){this.x = iX;this.y = iY;}
function fBuildCal(iYear, iMonth){
var aMonth=new Array();
for(i=1;i<7;i++){aMonth[i]=new Array(i);}
var dCalDate=new Date(iYear, iMonth-1, 1);
var iDayOfFirst=dCalDate.getDay();
var iDaysInMonth=new Date(iYear, iMonth, 0).getDate();
var iOffsetLast=new Date(iYear, iMonth-1, 0).getDate()-iDayOfFirst+1;
var iDate = 1;
var iNext = 1;
for (d = 0; d < 7; d++){aMonth[1][d] = (d<iDayOfFirst)?-(iOffsetLast+d):iDate++;}
for (w = 2; w < 7; w++){for (d = 0; d < 7; d++){aMonth[w][d] = (iDate<=iDaysInMonth)?iDate++:-(iNext++);}}
return aMonth;
}
function fDrawCal(iYear, iMonth, iDay, iCellWidth, iDateTextSize) {
var WeekDay = new Array("日","一","二","三","四","五","六");
var styleTD = " bgcolor='"+gcBG+"' width='"+iCellWidth+"' bordercolor='"+gcBG+"' valign='middle' align='center' style='font-size: 12px;background: buttonface;border-top: buttonhighlight 1px solid;border-left: buttonhighlight 1px solid;border-right: buttonshadow 1px solid; border-bottom: buttonshadow 1px solid;";
with (document) {
write("<tr align='center'>");
for(i=0; i<7; i++){write("<td height='20' "+styleTD+"color:#990099' >" + WeekDay[i] + "</td>");}
write("</tr>");
for (w = 1; w < 7; w++) {
write("<tr align='center'>");
for (d = 0; d < 7; d++) {
write("<td width='10%' height='15' id=calCell "+styleTD+"cursor:hand;' onmouseover='mouseover(this)' onmouseout='mouseout(this)' onmousedown='mousedown(this)' onmouseup='mouseup(this)' onclick='fSetSelected(this)'>");
write("<font style='font-size: 13px;' id=cellText Victor='Liming Weng'> </font>");
write("</td>");
}
write("</tr>");
}
}
}
function fUpdateCal(iYear, iMonth) {
sxYear = iYear;
sxMonth = iMonth;
yeartd1.innerText = sxYear + "年";
monthtd1.innerText = gMonths[sxMonth-1];
myMonth = fBuildCal(iYear, iMonth);
var i = 0;
for (w = 0; w < 6; w++){
for (d = 0; d < 7; d++){
with (cellText[(7*w)+d]) {
Victor = i++;
if (myMonth[w+1][d]<0) {
color = gcGray;
innerText = -myMonth[w+1][d];
}else{
color = ((d==0)||(d==6))?"red":"black";
innerText = myMonth[w+1][d];
}
}
}
}
}
function fSetYearMon(iYear, iMon){
sxYear = iYear;
sxMonth = iMon;
yeartd1.innerText = sxYear + "年";
monthtd1.innerText = gMonths[sxMonth-1];
document.all.tbSelMonth.options[iMon-1].selected = true;
for (i = 0; i < document.all.tbSelYear.length; i++){
if (document.all.tbSelYear.options[i].value == iYear){
document.all.tbSelYear.options[i].selected = true;
}
}
fUpdateCal(iYear, iMon);
}
function fPrevMonth(){
var iMon = document.all.tbSelMonth.value;
var iYear = document.all.tbSelYear.value;
if (--iMon<1) {
iMon = 12;
iYear--;
}
fSetYearMon(iYear, iMon);
}
function fNextMonth(){
var iMon = document.all.tbSelMonth.value;
var iYear = document.all.tbSelYear.value;
if (++iMon>12) {
iMon = 1;
iYear++;
}
fSetYearMon(iYear, iMon);
}
function fGetXY(aTag){
var oTmp = aTag;
var pt = new Point(0,0);
do {
pt.x += oTmp.offsetLeft;
pt.y += oTmp.offsetTop;
oTmp = oTmp.offsetParent;
} while(oTmp.tagName!="BODY");
return pt;
}
with (document){
write("<Div id='PopCal' onclick='event.cancelBubble=true' style='POSITION:absolute; VISIBILITY: hidden; bordercolor:#000000;border:2px ridge;width:10;z-index:100;'>");
write("<table id='popTable' border='1' bgcolor='#eeede8' cellpadding='0' cellspacing='0' style='font-size:12px'>");
write("<TR>");
write("<td valign='middle' align='center' style='cursor:default'>");
write("<table width='176' border='0' cellpadding='0' cellspacing='0'>");
write("<tr align='center'>");
write("<td height='22' width='20' name='PrevMonth' style='font-family:/"webdings/";font-size:15px' onClick='fPrevMonth()' onmouseover='this.style.color=/"#ff9900/"' onmouseout='this.style.color=/"/"'>3</td>");
write("<td width='64' id='yeartd1' style='font-size:12px' onmouseover='yeartd1.style.display=/"none/";yeartd2.style.display=/"/";' onmouseout='this.style.background=/"/"'>");
write(sxYear + "年");
write("</td>");
write("<td width='64' id='yeartd2' style='display:none' onmouseout='yeartd2.style.display=/"none/";yeartd1.style.display=/"/";'>");
write("<SELECT style='width:64px;font-size: 12px;font-family: 宋体;' id='tbSelYear' onChange='fUpdateCal(document.all.tbSelYear.value, document.all.tbSelMonth.value);yeartd2.style.display=/"none/";yeartd1.style.display=/"/";' Victor='Won'>");
for(i=1930;i<2015;i++){
write("<OPTION value='"+i+"'>"+i+"年</OPTION>");
}
write("</SELECT>");
write("</td>");
write("<td width='72' id='monthtd1' style='font-size:12px' onmouseover='monthtd1.style.display=/"none/";monthtd2.style.display=/"/";' onmouseout='this.style.background=/"/"'>");
write(gMonths[sxMonth-1]);
write("</td>");
write("<td width='72' id='monthtd2' style='display:none' onmouseout='monthtd2.style.display=/"none/";monthtd1.style.display=/"/";'>");
write("<select style='width:72px;font-size: 12px;font-family: 宋体;' id='tbSelMonth' onChange='fUpdateCal(document.all.tbSelYear.value, document.all.tbSelMonth.value);monthtd2.style.display=/"none/";monthtd1.style.display=/"/";' Victor='Won'>");
for (i=0; i<12; i++){
write("<option value='"+(i+1)+"'>"+gMonths[i]+"</option>");
}
write("</SELECT>");
write("</td>");
write("<td width='20' name='PrevMonth' style='font-family:/"webdings/";font-size:15px' onclick='fNextMonth()' onmouseover='this.style.color=/"#ff9900/"' onmouseout='this.style.color=/"/"'>4</td>");
write("</tr>");
write("</table>");
write("</td></TR><TR><td align='center'>");
write("<DIV style='background-color:teal;'><table width='100%' border='0' bgcolor='threedface' cellpadding='0' cellspacing='0'>");
fDrawCal(giYear, giMonth, giDay, 19, 14);
write("</table></DIV>");
write("</td></TR><TR><TD height='20' align='center' valign='bottom'>");
write("<font style='cursor:hand;font-size:12px' onclick='fSetDate(0,0,0)' onMouseOver='this.style.color=/"#0033FF/"' onMouseOut='this.style.color=0'>清空</font>");
write("&nbsp;&nbsp;&nbsp;&nbsp;");
write("<font style='cursor:hand;font-size:12px' onclick='fSetDate(giYear,giMonth,giDay)' onMouseOver='this.style.color=/"#0033FF/"' onMouseOut='this.style.color=0'>今天: "+giYear+"-"+giMonth+"-"+giDay+"</font>");
write("</TD></TR></TD></TR></TABLE>");
write("</Div>");
}

Android 自定义日历控件 有图有真像: 日历控件View: /** * 日历控件 功能:获得点选的日期区间 * */ public class CalendarView extends View implements View.OnTouchListener { private final static String TAG = "anCalendar"; private Date 阅读详情

相关推荐

JavaScript日历控件全面指南

在自定义日历控件样式的过程中,重置样式(CSS Reset)是第一步,以确保跨浏览器的样式一致性。我们将使用一些基本的CSS规则来移除浏览器的默认样式,例如边距、填充等。padding: 0;上述代码块将所有元素的外边距(margin)和内边距(padding)设置为0,并将box-sizing属性设置为border-box。这样,设置的宽度和高度就只包括内容、内边距和边框,而不会再增加外边距。在样式重置后,我们将进行基本的排版。

weixin_36019375的博客 895

jsp日期选择器开发技术- Web开发

jsp 日期控件,please download for your best study way to my work and this can be a good job!

自制WinForm日历控件的实现与应用

本文还有配套的精品资源,点击获取 简介:在.NET框架下的WinForm桌面应用开发中,创建一个自定义日历控件可以实现包括显示、选择日期在内的多种功能。本文详细介绍了使用WinForm技术实现日历控件所需的关键知识点,包括控件绘制、多线程UI更新、事件处理、日期逻辑、自定义属性以及设计模式的应用。并且提供了包含源代码、资源文件和项目设置的示例项目,便于学习和理解自定义控件的...

weixin_36382073的博客 1149

jQuery时间选择器点击选择小时分钟代码

jQuery时间选择器点击选择小时分钟代码

js弹出选择时间窗口选择时间

日期选择 - BY ziyue /*=======Calendar.js=======By Jiang Hongbin=======*/ var months = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月&q

cheng - cheer up。。。 。。。 1835

jsp时间选择器,可以自主的锁定日期区间,将未来多个时间区间设置为不可选

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

qq_41566219的博客 2380

excel 日历控件应用

excel 2010:   1. 安装日历控件  下载: 日历控件2007, 安装, 2. 打开excel 2010     ---文件-->选项--> 自定义功能区-->开发工具选项前打勾!  在菜单上显示 "开发工具" 选项! 3.  选开发工具 -- > 插入 --> 控件 -- > 选 excel 2007 控件 4.  ALT+F11 打开 VBA 窗口, 双击要编写脚本的

软件开发大神 8075

日历控件大全

日历控件是我们经常使用的,本文把常用的几款日历总结如下。 1.下拉日历梅花雨版第1款点评:最经典的几乎完美了。代码:...@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>html  >head runat="server">    titl

我的世界我的梦 7109

JSP页面中的时间选择器

用jsp页面显示日历形式的时间选择器,便于用户的使用,日历完全用javascript技术开发

带时间的日历控件

转自:http://blog.csdn.net/daditao/article/details/17241291 自己作了一些修改 Domo下载: (1)单纯的时间日历控件:   (2)结合了bootstrap样式的时间日历控件: 下面是时间日历控件的js代码 datePlugin.js /** * Created with

jenyzhang的专栏 6019

获取日历控件的选取值

VBA里直接用“Calendar.Value”就可以获取日历控件的值了,但VSTO里竟然没有这个属性。找了半天,原来要这样搞才行:

Paladin.Lao的VSTO/VBA专栏 4136

Java Swing 日历控件

本想在网上找一个简单的Java 日历控件,但是找了很久要不是就很花哨,要不是就写的很复杂。下午加晚上花了几个小时的时间,写了个简易的日历控件。现在放上来,以备不时之需。package date;import java.awt.BorderLayout;import java.awt.Container;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.

zxcvbnmluton的专栏 1万+

QML打造简易日历控件指南

QML(Qt Modeling Language)是一种用于开发动态用户界面的声明式编程语言,它允许开发者通过简洁的代码快速构建丰富的图形界面。QML具有高度的模块化特性,能够与C++后端代码无缝结合,同时提供流畅的动画和触摸交互。QML日历控件的核心功能包括显示日期、响应用户操作(如点击或滑动切换月份)、标记特殊日期等。后续章节将详细介绍如何使用ListView组件构建日历布局、自定义样式、处理交云事件,以及如何通过数据绑定扩展日历控件的功能。ListView。

weixin_42590539的博客 861

Jquery UI 日历控件

Jquery UI 的日历控件挺好用的   1.中文格式化控件   $(document).ready(function () { $.datepicker.regional['zh-CN'] = { clearText: '清除', clearStatus: '清除已选日期', closeText: '关闭',

兰丝龙 专栏 3188

jsp根据系统时间输出不同内容

【代码】jsp根据系统时间输出不同内容。

format_push的博客 194

jsp之bootstrap-datetimepicker日期插件

jsp 日历插件 bootstrap-datetimepicker

qq_42711032的博客 957

日期选择器(某个时间点之前置灰)

日期选择器

grow_的博客 590

JSP中时间控件页面的实现与应用

本文还有配套的精品资源,点击获取 简介:时间控件对于网页交互界面至关重要,它们允许用户选择或输入日期和时间。本文详细探讨了在JSP页面中实现时间控件的多种方式,包括日期选择器、时间选择器、日期时间选择器、滑块控件、文本输入框等,并提供了JSP标准标签库、JavaScript库、JavaBean以及前端框架等技术实现路径。文章还讨论了时间控件的交互设计、数据验证、国际化支持和...

weixin_32306683的博客 2243
上一篇: SQL 常用系统存储过程
下一篇: JavaScript的控制键操作
chengfong
博客等级 码龄18年 15粉丝 22原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值