本文实例讲述了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
相关文章:
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
中山网站制作网页,中山新生登记系统登记流程?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
建站主机选购指南与交易推荐:核心配置解析
建站之星云端配置指南:模板选择与SEO优化一键生成
C#怎么创建控制台应用 C# Console App项目创建方法
MySQL查询结果复制到新表的方法(更新、插入)
如何做静态网页,sublimetext3.0制作静态网页?
临沂网站制作企业,临沂第三中学官方网站?
网站制作网站,深圳做网站哪家比较好?
如何在Windows虚拟主机上快速搭建网站?
微信h5制作网站有哪些,免费微信H5页面制作工具?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
如何快速查询域名建站关键信息?
西安大型网站制作公司,西安招聘网站最好的是哪个?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
如何快速搭建FTP站点实现文件共享?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
javascript中对象的定义、使用以及对象和原型链操作小结
建站之星安装后如何配置SEO及设计样式?
如何通过可视化优化提升建站效果?
Android自定义listview布局实现上拉加载下拉刷新功能
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
兔展官网 在线制作,怎样制作微信请帖?
宝塔面板如何快速创建新站点?
如何打造高效商业网站?建站目的决定转化率
建站主机核心功能解析:服务器选择与网站搭建流程指南
网站制作公司,橙子建站是合法的吗?
为什么Go需要go mod文件_Go go mod文件作用说明
重庆市网站制作公司,重庆招聘网站哪个好?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
如何高效利用亚马逊云主机搭建企业网站?
如何确保FTP站点访问权限与数据传输安全?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Swift中switch语句区间和元组模式匹配
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
网站制作难吗安全吗,做一个网站需要多久时间?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
建站之星备案流程有哪些注意事项?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
电商网站制作价格怎么算,网上拍卖流程以及规则?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
海南网站制作公司有哪些,海口网是哪家的?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
如何选择可靠的免备案建站服务器?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
如何正确下载安装西数主机建站助手?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
*请认真填写需求信息,我们会在24小时内与您取得联系。