• JavaScript:日期对象


    日期对象

    js种的一个内置方法,用于处理日期与时间相关的操作

    创建日期对象

    new Date()

    创建一个和日期有关的对象

    new Date()里可以接收参数

    1.没有参数

    1. var d1=new Date();
    2. console.log(d1);

    F12打开浏览器控制台可以看到

    这个显示结果是:

    星期,月份,日期,年份,时:分:秒   格林尼治时间   中国标准时间(如果是CST是东八区)

    2.new Date(年,月,日,时,分,秒)

    1. var d2=new Date(2015,11,24,13,14,59);
    2. console.log(d2);

    控制台显示结果是

    Thu Dec 24 2015 13:14:59 GMT+0800 (中国标准时间) 

    参数是数字,每个参数用逗号隔开

    注意,参数是可以省略的,省略部分会取默认值0(除了日期,日期默认为1)

    3.new Date('June 10,2013 12:12:12')

    参数是字符串,外国人常用的日期表示方式

    var d3=new Date('June 10,2013 12:12:12');

    编译结果html的16行 

    4.new Date(时间戳)

    时间戳:从1970年1月1日0时0分0秒到指定一个时间点之间的毫秒数

    写运动的时候用到了  new Date().getTime()

    1. var d4=new Date(new Date().getTime());
    2. console.log(d4);// Sat Nov 12 2022 14:31:39 GMT+0800 (中国标准时间)

    注意:控制台显示的date对象只是本机的时间,修改的时date日期的时间,而不是本机的日期

    本机的日期只能获取不能修改

    获取日期对象的一些方法

    日期对象.getFullYear() 获取年

    日期对象.getMonth()     获取月,月份是从0开始

    日期对象.getDate()      获取日

    日期对象.getDay()       获取星期,从0开始 0代表周日

    日期对象 .getHours()    获取小时

    日期对象 .getMinutes()  获取分钟

    日期对象.getSeconds()   获取秒钟

    日期对象.getMilliseconds()  获取毫秒

    日期对象.getTime()     获取1970-01-01 00:00:00到目前日期对象的时间差(单位:毫秒)

    1s=1000ms

    1. <body>
    2. <script>
    3. window.onload=function(){
    4. var dateBox=document.getElementById("dateBox");
    5. var d=new Date();
    6. dateBox.innerHTML=''+d.getFullYear()+'年'+(d.getMonth()+1)+'月'+d.getDate()+'号 星期'+d.getDay()+','+d.getHours()+'点'+d.getMinutes()+'分'+d.getSeconds()+'秒';
    7. }
    8. script>
    9. <div id="dateBox">div>
    10. body>

    注意月份的打印

    动态显示日期,秒数随着时间流逝变化

    注意d需要在time方法内部,d存储的时间对象,变化根据时间对象变化,d在外面声明是一个定值

    1. <div id="dateBox">div>

    代码优化:

    1. 月份,时,分,秒都会出现个位数的情况,现在需要实现,他们是个位数的时候在前面加0.

    记录问题

     函数的结果存在于返回值,而format函数没有返回值所以返回undefined

    所以可以给format函数添加返回值

     或者使用三目运算符替换if语句及其返回值

    return v<10?'0'+v:''+v;

    完整代码:

    1. <script>
    2. window.onload=function(){
    3. var dateBox=document.getElementById("dateBox");
    4. function time(){
    5. var d=new Date();
    6. dateBox.innerHTML=''+d.getFullYear()+'年'+format(d.getMonth()+1)+'月'+format(d.getDate())+'号 星期'+d.getDay()+','+format(d.getHours())+'点'+format(d.getMinutes())+'分'+format(d.getSeconds())+'秒';
    7. }
    8. function format(v){
    9. // if(v<10){
    10. // v='0'+v;
    11. // }
    12. return v<10?'0'+v:''+v;
    13. // return v;
    14. }
    15. setInterval(time,1000);
    16. }
    17. script>
    18. <div id="dateBox">div>

    2.星期大写

    formatWeek取参可以v,刚好对应0123456

    1. function formatWeek(v){
    2. return ['日','一','二','三','四','五','六'][v];
    3. }

    之后在这里加上就好了 

  • 相关阅读:
    智能运维实战:银行业务流程及单笔交易追踪
    Sophon CE社区版上线,免费Get轻量易用、高效智能的数据分析工具
    从入门到进阶 之 ElasticSearch 文档、分词器 进阶篇
    AndroidX使用过程中的疑难杂症
    前端面试题(附答案)持续更新中……
    基于JAVA疫情社区志愿者组织的资源管理平台计算机毕业设计源码+系统+数据库+lw文档+部署
    【NVMe2.0b 14-5】Firmware Download/Commit command
    Maven 仓库地址
    CVE-2021-40449 NtGdiResetDC UAF
    数学几百年重大错误:将两异函数误为同一函数
  • 原文地址:https://blog.csdn.net/weixin_55355282/article/details/127819852