JavaScript日期选择功能示例
发布时间 - 2026-01-10 22:32:58 点击率:次本文实例讲述了JavaScript日期选择功能。分享给大家供大家参考,具体如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<title>javascript日期选择</title>
<style type="text/css">
option{
width:150px;
}
</style>
</head>
<body>
<!--<input type="hidden" value="window.location.href" />-->
<br />
<div id="dateOp">
<select id="selectYear" onchange="getDay()"></select>年
<select id="selectMonth" onchange="getDay()"></select>月
<select id="selectDay"></select>日
<input type="button" value="getdate" />
</div>
<script type="text/javascript">
//或得当前年月日
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var startYear = 2000;
var endYear = 2050;
var button = document.getElementsByTagName("input")[0];
//得到三个select项
var selectYearElement = document.getElementById("selectYear");
var selectMonthElement = document.getElementById("selectMonth");
var selectDayElement = document.getElementById("selectDay");
//selectYearElement.onchange = getDay();
//selectMonthElement.onchange = getDay();
//selectYearElement.addEventListener
getYear();
getMonth();
getDay();
//年份函数
function getYear() {
for (var i = startYear; i <= endYear; i++) {
var opYearElement = document.createElement("option");
var textElement = document.createTextNode(i);
opYearElement.appendChild(textElement);
opYearElement.value = i;
selectYearElement.appendChild(opYearElement);
}
//设置默认年份的值
selectYearElement.selectedIndex = year - startYear;
}
//月份函数
function getMonth() {
for (var i = 1; i <= 12; i++) {
var opMonthElement = document.createElement("option");
textMonth = document.createTextNode(i);
opMonthElement.appendChild(textMonth);
opMonthElement.value = i;
selectMonthElement.appendChild(opMonthElement);
}
//设置默认年份的值
selectMonthElement.selectedIndex = month - 1;
}
//日期函数
function getDay() {
var getSelectedYear = selectYearElement.selectedIndex + startYear;
var getSelectedMonth = selectMonthElement.selectedIndex + 1;
var flag = 0;
var selectDayElement = document.getElementById("selectDay");
if (selectDayElement.hasChildNodes()) {
var optionElements = selectDayElement.getElementsByTagName("option");
for (var i = 0; i < optionElements.length; i++) {
selectDayElement.removeChild(optionElements[0]);
//不知道为什么必须得自减一
i--;
}
}
else {
}
//得到闰年
if ((getSelectedYear % 4 == 0 && getSelectedYear % 100 != 0) || getSelectedYear % 400 == 0) {//得到闰年的年号
//alert("闰年");
//得到闰年大月份除二月以外
if ((getSelectedMonth <= 7 && getSelectedMonth % 2 == 1 && getSelectedMonth != 2) || (getSelectedMonth >= 8 && getSelectedMonth % 2 == 0)) {//得到大月
setDay(flag = 31);
}
else if (getSelectedMonth <= 7 && getSelectedMonth == 2) {
setDay(flag = 29);
}
else if ((getSelectedMonth <= 7 && getSelectedMonth % 2 == 0 && getSelectedMonth != 2) || (getSelectedMonth >= 8 && getSelectedMonth % 2 == 1)) {//得到小月份除二月以外
setDay(flag = 30);
}
}
//非闰年
else {
//alert("平年");
//得到平年大月份除二月以外
if ((getSelectedMonth <= 7 && getSelectedMonth % 2 == 1 && getSelectedMonth != 2) || (getSelectedMonth >= 8 && getSelectedMonth % 2 == 0)) {//得到大月
setDay(flag = 31);
}
else if (getSelectedMonth <= 7 && getSelectedMonth == 2) {
setDay(flag = 28);
}
else if ((getSelectedMonth <= 7 && getSelectedMonth % 2 == 0 && getSelectedMonth != 2) || (getSelectedMonth >= 8 && getSelectedMonth % 2 == 1)) {//得到小月份除二月以外
setDay(flag = 30);
}
}
}
//设置默认年份的值
selectDayElement.selectedIndex = day - 1;
function setDay(dayLength) {
for (var i = 1; i <= dayLength; i++) {
var opDayElement = document.createElement("option");
textMonth = document.createTextNode(i);
opDayElement.appendChild(textMonth);
opDayElement.value = i;
//alert(i);
selectDayElement.appendChild(opDayElement);
}
}
button.onclick = function () {
var getSelectedYear = selectYearElement.selectedIndex + startYear;
var getSelectedMonth = selectMonthElement.selectedIndex + 1;
var getSelectedDay = selectDayElement.selectedIndex + 1;
alert("当前选中的日期是:" + getSelectedYear + "年" + getSelectedMonth + "月" + getSelectedDay + "日")
}
//getDay
</script>
</body>
</html>
运行效果图如下:
PS:这里再为大家提供几款日期与日历相关在线工具供大家参考使用:
在线万年历日历:
http://tools./bianmin/wannianli
网页万年历日历:
http://tools./bianmin/webwannianli
在线阴历/阳历转换工具:
http://tools./bianmin/yinli2yangli
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript时间与日期操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
# JavaScript
# 日期选择
# js 格式化时间日期函数小结
# 日期 时间js控件
# js data日期初始化的5种方法
# JS 日期比较大小的简单实例
# js时间戳格式化成日期格式的多种方法
# js用Date对象的setDate()函数对日期进行加减操作
# js获取日期:昨天今天和明天、后天
# js时间戳转为日期格式的方法
# js中的时间转换—毫秒转换成日期时间的示例代码
# JS 显示当前日期与时间的代码
# js:日期正则表达式及检测
# JS 日期操作代码
# 获取当前日期
# 加一天
# 减一天
# 大月
# 相关内容
# 遍历
# 感兴趣
# 数据结构
# 给大家
# 不知道为什么
# 更多关于
# 所述
# 几款
# 程序设计
# 转换工具
# 再为
# 操作技巧
# 讲述了
# br
# href
# location
# dateOp
# id
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
香港服务器部署网站为何提示未备案?
北京网站制作的公司有哪些,北京白云观官方网站?
如何在腾讯云免费申请建站?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
如何破解联通资金短缺导致的基站建设难题?
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
如何用PHP快速搭建CMS系统?
🚀拖拽式CMS建站能否实现高效与个性化并存?
nginx修改上传文件大小限制的方法
如何为不同团队 ID 动态生成多个独立按钮
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
教你用AI将一段旋律扩展成一首完整的曲子
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
微信h5制作网站有哪些,免费微信H5页面制作工具?
如何在阿里云域名上完成建站全流程?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
音响网站制作视频教程,隆霸音响官方网站?
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
济南网站建设制作公司,室内设计网站一般都有哪些功能?
Laravel如何实现用户密码重置功能?(完整流程代码)
再谈Python中的字符串与字符编码(推荐)
Android仿QQ列表左滑删除操作
如何在宝塔面板中修改默认建站目录?
iOS验证手机号的正则表达式
微信小程序 HTTPS报错整理常见问题及解决方案
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
如何快速使用云服务器搭建个人网站?
如何解决hover在ie6中的兼容性问题
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
bing浏览器学术搜索入口_bing学术文献检索地址
linux写shell需要注意的问题(必看)
如何在自有机房高效搭建专业网站?
Laravel PHP版本要求一览_Laravel各版本环境要求对照
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
Laravel如何实现API资源集合?(Resource Collection教程)
如何用西部建站助手快速创建专业网站?
如何在Tomcat中配置并部署网站项目?
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
如何用IIS7快速搭建并优化网站站点?
如何做网站制作流程,*游戏网站怎么搭建?
用yum安装MySQLdb模块的步骤方法
Laravel如何升级到最新版本?(升级指南和步骤)
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
如何获取上海专业网站定制建站电话?
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】

