首页 > 其他 > 详细

Date、Error

时间:2020-11-16 17:27:55      阅读:30      评论:0      收藏:0      [点我收藏+]

1.Date

1.作用:保存一个日期或事件,提供操作日期和时间的API

2.创建方法:

1.获取系统当前日期和时间
    let now = new Date();
注意:只能获取客户端本地时间,无法获取服务器时间
2.自定义日期和时间
    let now = let Date("yyyy/MM/dd hh:mm:ss");
3.将ms转换为客户端日期对象
    let date = new Date(ms);
在网络间传输时间或在服务器存储时间,都用整数(毫秒数/秒数)
4.复制一个日期对象
  let date2 = new Date(date1); //将date1里的日期复制给date2
原因:因为日期计算都默认直接修改原日期对象

练习:设置一个时间,计算当前时间距离设置的时间的天时分秒

        let end = new Date("2020/11/16 12:00");
        let now = new Date();   //从客户端获取时间
        let s=parseInt((end-now)/1000);
        let d=parseInt(s/(60*60*24));
        let h=parseInt(s%(60*60*24)/3600);
        let m=parseInt(s%3600/60);
        s=s%60;
        document.write("距离指定时间还有:"+d+"天"+h+"小时"+m+"分"+s+"秒");

3.API

1.单位
    FullYear  Month  Date  Day --都没有s结尾
    Hours  Minutes  Seconds  Milliseconds --都有s结尾
2.每个单位都有一对getxxx()/setxxx()方法
    getxxx()负责获取单位的数值
        比如:now.getFullYear()  //2020
                now.getHours()  //11
    setxxx()负责修改指定单位的数值
        比如:now.setFullYear(2022)
                now.setDate(20)
    其中:setxxx(n)
        n可以是任意值,setxxx(n)可自动调整时间进制
    注意:day没有setDay()方法,因为day是推算出来的
3.取值范围
    Month:0~11
        注意:js中的月份比现实中小1,读取或修改时,可能需要+1或-1
    Date:1~31
    Day:0~6  日~六
    Hours:0~23
    Minutes/Second:0~59

4.日期计算

1.两日期对象可直接相减:结果是毫秒差
2.对任意单位做加减:
    先取值:let d=now.getDate();
    做加减:d+=30;
    放回去:now.setDate(d); //setxxx()可自动调整时间进制
注意:setxxx() 会直接修改原日期对象
    解决:先复制副本,再用副本计算
简写:now.setDate(now.getDate()+30);

5.将日期转为字符串

   date.toString(); 转化为当地时间的完整格式
   date.toLocaleStirng(); 转化为当地时间的简化版格式
   date.toLocaleDateString(); 简化版格式,仅保留日期部分
   date.toLocaleTimeString(); 简化版格式,仅保留时间部分
   date.toGMTString(); 转化为国际标准时间
   自定义格式化日期函数

2.Error

1.错误定义:程序执行过程中,导致程序无法正常执行的异常情况

错误处理:即使程序出错,也保证程序不会强行退出的机制

2.语法

    try{
        可能出错的正确代码
    }catch(err){  //err:错误对象,发生错误时,自动创建的保存错误信息的对象
        只有发生错误时,才执行的错误处理代码
        错误发生后应该做:1.提示用户 2.保存进度 3.记录日志
    }
问题:放在try…catch中的代码,执行效率可能降低,且生成错误对象,占用内存空间
解决:如果可以提前预知错误,则首选 if…else…来提前预防错误

3.错误类型

SyntaxError:语法错误
ReferenceError:引用错误,要用的变量没找到
TypeError:类型错误,错误的使用了对象的方法或 () 或 []
RangeError:范围错误,参数超范围
URIError: URI错误, 如果请求所使用的url拼接错误
EvalError:Eval错误

4.抛出错误

函数的作者向函数的调用者抛出自定义错误对象,告知调用者错误的使用了函数
语法:throw new Error("自定义错误提示信息");

  

  

Date、Error

原文:https://www.cnblogs.com/hourglas/p/13984340.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!