JS实现下拉列表显示当前日期到之前半年的所有日期
来源:互联网 发布:手机主题美化软件 编辑:程序博客网 时间:2024/06/11 18:06
博主在最近做的项目中用到一个功能,有一个下拉列表,内容为当前日期到之前半年的日期列表,格式为yyyy-MM-dd。之后在网上并未搜索到完整的解决方案,但是我想出了一个集众家之所长的解决方案,于是就有了本文。因为我做的工作只是结合到一起,所以算是转载的吧。切入正题。
边说边看代码。
首先在body里写一个select控件,给个id。
<body> <select id="dateSelect"> </select></body>
其次在页面头部写js,使其在页面加载时就执行js函数给select填充内容。
<script> //页面加载完成后,执行初始化操作 window.onload = function () { //当前日期 var date = new Date(); //获取select元素 var dateSelectObj = document.getElementById("dateSelect"); var s1 = date.toLocaleDateString(); var s2 = setTime(-6); var diff = DateDiff(s1, s2); for (var i = 0; i <= diff; i++) { //创建option子元素 var optionText = formateDate(date); var optionElement = document.createElement("option"); optionElement.textContent = optionText; optionElement.value = optionText; dateSelectObj.appendChild(optionElement); //日期减一个月 date.setDate(date.getDate() - 1); } }; </script>
之后是核心js函数,可以写在外部js文件里。
此函数作用是计算天数差,方便遍历添加option
//计算天数差的函数,通用 function DateDiff(startDate, endDate) { var startTime = new Date(Date.parse(startDate)).getTime(); var endTime = new Date(Date.parse(endDate)).getTime(); var dates = Math.abs((startTime - endTime)) / (1000 * 60 * 60 * 24); return dates;}
此函数作用是设置结束日期,即当前日期到哪一天的所有天数
//设置结束时间function setTime(mon) { var d = new Date(); d.setMonth(d.getMonth() + mon); return d.toLocaleDateString();}
此函数作用是格式化输出的Date,格式为yyyy-MM-dd,也可以不用
//格式化Datefunction formateDate(date) { if (date instanceof Date) { return date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + (date.getDate()); } else { return "Error Date"; }}
到这里就OK了,经测试,不支持IE浏览器,Google和Firefox最新版都支持。
0 0
- JS实现下拉列表显示当前日期到之前半年的所有日期
- select 设置下拉列表的选中项的值 显示当前日期 年份 月份 下拉列表获取当前日期
- JS实现控制月末日期的下拉列表
- js显示当前日期
- Js 显示当前日期
- js显示当前日期
- js控制日期下拉列表
- js显示当前日期或者前几天的日期
- js判断输入日期是否在当前日期之前
- linux系统,显示当前时间日期和之前一段时间的日期
- js实现获取两个日期之间所有日期的方法
- js实现日期下拉框
- js封装时间转换工具,实现日期之前的转换
- 显示日期的下拉菜单
- JS获取当前日期前后的日期
- 获得两个日期之前的所有日期或日历
- 显示当前的时间日期
- asp.net网站前台显示当前日期的js代码
- 在myeclipse中错误java.lang.NoClassDefFoundError: javax/mail/Address的解决方法
- 自定义二维码扫描页面-用系统提供的类
- 颜色透明度计算
- 连续小波变换的概念swt,cwt,dwt
- Android学习笔记:WebView常用技巧
- JS实现下拉列表显示当前日期到之前半年的所有日期
- SQL递归查询!
- Oozie配置Hue
- eclipse发布项目到tomcat注意外部包问题
- 结构体中存在string类型成员
- java 类型信息(RTTI) 中 Class对象的理解
- matlab 结构(struct)数组
- SQL错误:无法删除对象 '****',因为该对象正由一个 FOREIGN KEY 约束引用。
- easyui防止重复提交及进度条报错解决: Cannot read property 'onClose' of undefined