年月日下拉选择三级联动(闰年判断),时间获取方法总结,特殊:获取当前月天数

html

年:<select id="year"></select>
月:<select id="month"></select>
日:<select id="date"></select>

js

    //获取当前时间
    var MyDate = new Date();
    //获取当前年
    var yearNow = MyDate.getFullYear();
    //获取当前月[月为0-11所以加1]
    var monthNow = MyDate.getMonth()+1;
    //获取当前天
    var DateNow = MyDate.getDate();
    //获取当前月有多少天
    var curMonthDays = new Date(MyDate.getFullYear(), (MyDate.getMonth()+1), 0).getDate();
    //标志,日期未做任何改变,用来给天加判断
    var flag = 0;
    $(function(){
        initYear();//初始化年
        initMonth();//初始化月
        initDate(curMonthDays);//初始化日,传参这个月有多少天
        $(‘#year‘).change(changeYear);//年改变
        $(‘#month‘).change(changeMonth);//月改变
    })
    //初始化年
    function initYear(){
        //前后五年时间循环
        var str ="";
        for(var i = yearNow-5; i < yearNow+5; i++){
            str += "<option value=‘"+i+"‘>"+i+"</option>";
        }
        //放入页面并设置默认值为当前年
        $(‘#year‘).html(str).val(yearNow);
    }
    //初始化月
    function initMonth(){
        //月份循环
        var str ="";
        for(var i = 1;  i < 13; i++){
            str += "<option value=‘"+i+"‘>"+i+"</option>";
        }
        //放入页面并设置默认值为当前月
        $(‘#month‘).html(str).val(monthNow);
    }
    //初始化天,传参数默认值为31天
    function initDate(num){
        //根据传入参数循环天数
        var str ="";
        var DateSel = $(‘#date‘).val();
        for(var i = 1; i <= num; i++){
            str += "<option value=‘"+i+"‘>"+i+"</option>";
        }
        //当标志为0即未改变,日期设置默认值为当前日期
        if(flag == 0){
            $(‘#date‘).html(str).val(DateNow);
            //当标志改变时,日期设置为选中的日期
        }else{
            $(‘#date‘).html(str).val(DateSel);
        }
    }
    //年改变函数
    function changeYear(){
        //获取选中的年
        var year = $(‘#year‘).val();
        //获取选中的月
        var month = $(‘#month‘).val();
        flag = 1;//标志改变
        //如果月份为2月
        if(month == 2){
            //并且为闰年
            if(year%4 == 0 && year%100 !=0 || year%400 == 0){
                //天数传参29天
                initDate(29);
            }else{
                //否则天数传参28天
                initDate(28);
            }
        }
    }
    //月改变函数
    function changeMonth(){
        //获取选中的月
        var month = $(‘#month‘).val();
        flag = 1;//标志改变
        //当月份为4 6 9 11时
        if(month == 4 || month == 6 || month == 9 || month == 11){
            //天数传参30天
            initDate(30);
        //月份为2时
        }else if(month == 2){
            //执行改变年函数
            changeYear();
        }else{
            //其他月份天数传参31天
            initDate(31);
        }
    }

2月判断在改变年的函数当中,

当月份改变为2月时调用年改变函数。

方法二:

  初始化年月不变,天函数中做判断,当改变年月时调用天函数。

下面为天函数

总结:时间获取     var t = new Date();

new Date 获取当前日期和时间。  eg:2018-06-24T09:33:12.309Z

t.getFullYear() 获取当前年(4位)

t.getYear(); //获取当前年份(2位)

t.getMonth() 获取月份 (0-11)所以当前月份应加一

t.getDate() 获取当前天

t.getDay() 获取当前星期(0-6)

t.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)

t.getHours(); //获取当前小时数(0-23)

t.getMinutes(); //获取当前分钟数(0-59)

t.getSeconds(); //获取当前秒数(0-59)

t.getMilliseconds(); //获取当前毫秒数(0-999)

t.toLocaleString()日期时间转换为中文。

特别提示://获取当前月有多少天 var curMonthDays = new Date(MyDate.getFullYear(), (MyDate.getMonth()+1), 0).getDate();

具体原因不明。

原文地址:https://www.cnblogs.com/SSs1995/p/9221165.html

时间: 2024-10-10 22:43:03

年月日下拉选择三级联动(闰年判断),时间获取方法总结,特殊:获取当前月天数的相关文章

Easyui表单,文本框,下拉菜单三级联动练习代码

1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&g

layui省市区下拉菜单三级联动

使用这个功能需要用到layui这个文件夹的内容,所以不能只把layui.css和layui.js引入,要从layui文件夹获取 显示效果 代码部分 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-

基于jQuery美化联动下拉选择框

今天给大家介绍一款基于jQuery美化联动下拉选择框.这款下下拉选择框js里自带了全国所有城市的数数库.下拉选择框适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="container"> <div class="inner"> <section id="main_content"

ASP.NET——实现两个下拉框动态联动

引入: 在网页中,我们经常会遇到下图中的情况.首先在下拉框中选择所在的省,选择之后,第二个下拉框会自动加载出该省中的市.这样设计极大的方便了用户的查找.那这是如何实现的呢? 1.建立数据库 "省"表 "市"表 2.添加控件 3.两个下拉框分别绑定数据源 protected void Page_Load(object sender, EventArgs e) { //判断是否第一次进入页面,如果是,则绑定数据库:如果不是,则无需绑定. if (!this.IsPost

3、CRM2011编程实战——选项集(下拉框)联动效果的实现

需求:根据选择不同的"反映类别",帅选出不同的"反映内容". 字段说明:反映类别:hxcs_feedbacktype,反映内容:hxcs_feedbacktype 解决方案:要设置两个选项集的关联,我们可以为两个选项集设置value的时候,做一些特殊的处理.举例:假设类别的Value:1001,1002,那么对应的内容可以设置为:类别value+00001,即100100001,以此类推.如下图: Js代码如下: function onFeedBackTypeCha

实现两级下拉框的联动

1.实现两级下拉框的联动. 功能:实现点击年级下拉框,加载对应科目的下拉框. 第一步:首先要加载年级下拉框中的数据. 01.在GradeDAL层(数据访问层)写一个方法,查询所有年级的信息. /// <summary> /// 从数据库中获取年级信息 /// </summary> /// <returns>List的集合:年级编号,年级名称</returns> public List<Grade> SelectGradeInfo() { List

通过切换页面引用的js文件实现下拉框的联动

在之前的项目之中,页面最高的角色级别是城市级,一个页面最多是展示一个城市的信息. 因此为每个城市创建了一个js文件,在其中存放此城市的信息,如图: 在此我们关注js文件中存放的区县信息,以北京为例,其区县信息如图: var Districts=[{name:'昌平',index:0},{name:'朝阳',index:1},{name:'崇文',index:2},{name:'大兴',index:3},{name:'东城',index:4}]; 由于之前的页面最多加载某一城市的js文件,Dist

表格 列表 form input 下拉选择 评论框

今日内容 img图片 a标签 列表 标题列表 特殊符号 表格 form标签 input(单选多选 重置 选择文件 选择年月日)button(提交按钮) textarea(评论框)select(下拉选择框) textarea(评论框) 博客园评论 标题 h1 h2 h3 h4 h5 h6 列表 ol ul li dl dt dd 排版标签 p div hr center pre 表格 table 表单 form 域名解析 域名 -- ip地址 -- 192.168.1.10 https://192

Bootstrap系列 -- 15. 下拉选择框select

Bootstrap框架中的下拉选择框使用和原始的一致,多行选择设置multiple属性的值为multiple.Bootstrap框架会为这些元素提供统一的样式风格 <form role="form"> <div class="form-group"> <select class="form-control"> <option>1</option> <option>2</