• javascript日期对象8.0


    11、日期

    时间对象

    在计算机的世界中,时间是从1970.1.1 00:00 开始的,都是通过毫秒数来计算

    var time = new Date().getTime();
    //1597407020009  这里是距离1970年有多少毫秒
    document.write(time);

    获取当前时间

    //定义时间对象
    var date = new Date();
    //将时间对象转换成字符串   Fri Aug 14 2020 20:10:20 GMT+0800 (中国标准时间)
    document.write(date.toString());

    获取时间各个部分

    //获取年
    var year = date.getFullYear();
    //获取月份: 注意+1
    var month = date.getMonth() + 1;
    //获取日期
    var day = date.getDate();
    //获取小时
    var hour = date.getHours();
    //获取分钟数
    var minute = date.getMinutes();
    //获取秒数
    var second = date.getSeconds();
    //获取毫秒数
    var ms = date.getMilliseconds();
    //2020-8-14 20:22:0:815
    var str = year + "-" + month + "-" + day + "-" + “ " + hour + ":" + minute + ":" + second + ":" + ms; document.write(str);

    练习1:将如下年份转换成如下格式:

    例如:2020.2.20  转成  "公元二零二零年二月二十日”

    var date = new Date();
    var res = "公元";
    var arr = ["零", "一", "二","三","四","五","六","七","八","九","十"];
    //
    var year = date.getFullYear(); 
    //将年的数字转换成字符串
    var sy = year.toString();
    //对年内的每个数字遍历
    for(var i=0; i<sy.length; i++) {
    //拿到当前数字的值 作为arr数组的下标 这样就对应了每个繁体数字
        var index = sy[i];
    //对每个数字进行拼接
        res += arr[index];
    }
    res += "年";
    //
    var month = date.getMonth() + 1;
    if(month<=10) {
    //在10以下 翻译成汉字数字
        res += arr[month];
    }else {
    //取到大于10的月份的个位
        var g = month%10;
    
        res += "十" + arr[g];
    }
    res += "月";
    
    //
    var day = date.getDate();
    if(day<=10) {
    //在10以下的数字
        res += arr[day];
    }else if(day<20){     //对10-20的日期求余可得到个位数  
        var d = day%10;
        res += "十" + arr[d];  //十可以单独加
    }else if(day==20) {
        res += "二十";
    }else if(day<30) {
        var d = day%10;  //20-30的日期可求余得到个位数
        res += "二十" + ar[d];
    }else if(day==30) {
        res += "三十";
    }else if(day==31) {
        res += "三十一";
    }
    res += "日";
    //2020/8/14 公元二零二零年八月十四日
    document.write(res);

    练习2:输出当前月的日历

    var date = new Date();
    //输出当前日期 2020年8月15日
    document.write("今天是:" + date.getFullYear() + "年" + (date.getMoth() + 1) + "月" + date.getDate() + "日");
    document.write("<br>");
    document.write("<br>");
    document.write("<table>");
    //创建新的一行
    document.write("<tr>");
    var arr = ["天", "一", "二", "三", "四", "五", "六"];
    //输出日历的列表头部
    for(var i=0; i<7; i++) {
        document.write("<td>星期" + arr[i] + "</td>");
    }
    document.write("</tr>");
    
    //1号是星期几
    var fday = new Date();
    //获取当前时间年  并将时间设置到对象中
    fday.setFullYear(date.getFullYear());
    fday.setMonth(date.getMonth());
    fday.setDate(1);
    //求1号前面有多少空格  这里得到当前是星期几  同时也能推断出一号前面有多少个空格  方便进行<td>填充
    
    var week = fday.getDay();
    //6
    alert(week);
    //当前月份有多少天?
    var nmy = new Date();
    //将年份设置为当前年
    nmy.setFullYear(date.getFullYear());
    //月份设置为当前月的下一个月
    nmy.setMonth(date.getMonth() + 1);
    //具体日期是从1开始的  但是这里设置为0  则是代表上个月的最后一天
    nmy.setDate(0);
    
    //可以看到刚设置日期以后所得到的最后一天日期天数
    //推算出总共有多少格子
    var len = week + lastDay;
    //遍历每个格子
    for(var i=1; i<len; i++) {
        if(i%7 == 1)  {
             document.write("<tr>");
        }
        var d = i - week;
        //这里对1号以前的空格进行空内容的填充
        if(d<0) {
            document.write("<td></td>");
        }else {
    //在当前时间时,单独设置样式 字体为红色
            if(d == date.getDate()) {
                document.write("<td style='color: red;'>" + d + "</td>");
            }else {
    //为每个具有日历数字的框中添加日期
                document.write("<td>" + d + "</td>");
            }
    }
    //每个行尾结束标签
    if(i%7 == 0) {
        document.write("</tr>");
    }
    document.write("</table>");
  • 相关阅读:
    20165310_Exp2实验二《Java面向对象程序设计》
    20165310java_teamExp1_week1
    20165310java_blog_week7
    20165310java_blog_week6
    20165310 java_blog_week5
    20165211 获奖感想及java课程总结
    实验四 Android程序设计
    实验三 敏捷开发与XP实践
    第十周课下作业(补做)
    课下作业(补做)
  • 原文地址:https://www.cnblogs.com/HelloM/p/13504354.html
Copyright © 2020-2023  润新知