13-第十三章 日期对象Date

2019-02-08  本文已影响0人  晚溪呀

JavaScript 日期处理类库 http://momentjs.cn/

解决轮播图点击太快的方法

设置一个旧时间
点击的瞬间立马拿到一个新的时间,新时间 - 旧时间 如果 小于 动画的时间,那等二次点击不生效,再更新旧时间

        //  旧的时间
        let oldTime = new Date();
        document.onclick = () => {             
            //  限制点击间隔时间,防止点击太快
            if (new Date() - oldTime < 600) {
                return;
            }
            oldTime = new Date();
        }

倒计时低于10显示0(n)

const num = n => n < 10 ? '0' + n : n + "";

夏令时 开始 4月中旬第一个星期日,晚上2.00 - 3.00
结束 9月中旬 第一个星期日晚上 2.00

一、 new Date() 获取当前时间


1、 new Date() 本地时间

里面是字符串时 2018-07-08T20:30:00 月份大于13 无效
里面是数字时,月份要 - 1 月份大于13 自动进1
new Data(2018, 6, 1, 21, 35, 00)

var d = new Date();
alert(d);  //Wed Aug 23 2017 21:36:24 GMT+0800 (中国标准时间)

2、 toUTCString() 当前 世界时

toUTCString() 根据世界时,把Date对象转换为字符串。

var d = new Date();
var utc =  d.toUTCString()
alert( utc );//Wed, 23 Aug 2017 13:40:29 GMT

3、获取具体时间

方法 描述

getFullYear()
getMonth() + 1 月(0 ~ 11)。
getDate() 天 (1 ~ 31)。
getDay() 周几 (0 ~ 6),星期天为0
getHours()
getMinutes()
getSeconds()
getMilliseconds() 毫秒
getTime() 返回 1970 年 1 月 1 日至今的毫秒数
H5 new Data.now() 返回 1970 年 1 月 1 日至今的毫秒数

new Date( Date.parse( new Date() ) );
字符串格式通过 Date.parse() 变成数字,再通过 new Date() 转化为一个对象
new Date().getTimezoneOffset()
世界时 - 本地时间 = 相差的毫秒值(分钟)
new Date().getUTCHours()
拿到世界时这一刻的小时

    var d = new Date(),
    YY = d.getFullYear(),
    MM = d.getMonth() + 1,
    TT = d.getDate(),
    DD = d.getDay(),
    HH = d.getHours(),
    Min = d.getMinutes(),
    Sec = d.getSeconds(),
    Mil = d.getMilliseconds()

    alert(YY);  //2017

二、 日期格式化方法

date. toLocaleString() ——————–按照本地时间输出 Locale
/ləʊ'kɑːl/ 区域设置
date.toLocaleDateString() —————本地时间 年 月 日
date.toLocaleTimeString() ————–本地时间 时 分 秒
date.toTimeString()————————本地 时 分 秒 时区
Date.UTC() ————————————世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数

var d = Date.UTC(year,month,day,hours,minutes,seconds,ms);
alert(d);

三、 设置本地时间

日期对象相减得到的值为毫秒值

1、new Date(yy,mon,dd,hh,mm,ss,ms) 数字形式
new Date(yy,mon,dd,hh,mm,ss,ms) 可以缺省,yy,mon为必须
new Date(2020,10,1)

2、new Date(‘yy/mon/dd/hh/mm/ss/ms’)字符串形式
new Date('2020/10/1')

3、new Date(num ) 毫秒数 到1970年的毫秒数(一个值是获取到的是毫秒值)
new Date('2020/10/1')

参数 描述

yy 年 (四位数)
mon 月份 ( 0~11))
dd: 天 ( 1~31 )
hh 时 ( 0~23)
mm 分 ( 0~59)
ss 秒 ( 0~59)
ms 毫秒 (0 ~ 999)

var t = new Date(2017,10,15,2,30,05);
console.log(t);//Wed Nov 15 2017 02:30:05 GMT+0800 (中国标准时间)

案例1:系统时间
案例2:倒计时

四、 getTimezoneOffset

返回本地时间与格林尼治标准时间 (GMT) 的分钟差

1.var d = new Date();

3.//拿到毫秒数
4.var len = d.getTime();

6.//本地时间与GMT时间的时间差
7.var offset = d.getTimezoneOffset()601000;

9.//得到现在的格林尼治
10.var utcTime = len + offset;

12.//num时区 得到不同时区的时间
13.var data = new Date(utcTime+60601000*num);
案例3:世界时间

上一篇下一篇

猜你喜欢

热点阅读