上一集让人等到很崩溃的,终於..郑列终於吹嘘完了
阿物件:我跟你说...
我:... (接下来难道要换阿物件吹嘘了吗?...要是时间能重来就好了)
????:让我来帮你吧?告诉我,你想去的时间吧
我:(...?虽然不知道是谁)我想回到8月16号,这样就有一个月可以准备铁人了 !
我想回到中秋节9月21日前追踪JS姐妹们的那天!!
????:交给我吧,建构新的时间
getFullYear() 延伸问题:Y2K背後的问题是?(更新时间:9/24 ,15:35)
let goBackTime = new Date();
D特:就叫我D特吧,我的替身能力是Date
。
我:...时间管理大师是你?
D特:并没有,我的这个Date
的能力还是有限制的,让我稍微跟你讲讲吧:
Date
的时间是基於世界标准时间(UTC),最早只能回溯到1970 年 1 月 1 日(但跟UNIX epoch计算方不同,UNIX的计算单位只到秒(s),而Date
则是到毫秒(millisecond))let rightNow =Date();
let newRightNow = new Date();
console.log(rightNow,newRightNow);
这样差在哪?新跟旧的差别?
new
,输出的时间为String
型别的时间内容new
,输出的则为object
D特:试图回溯时间是不容易的事情,你需要知道并取得以下时间碎片,我会帮你依序取得它们,那些碎片分别是:
将这些时间碎片拼凑後,才有可能正确地回到你的时间点
我:2021年9月21号星期二的早上10点38分54秒。
const wantToGoDay = new Date('sep 21, 21 10:38:54');
D特:那这样就开始来取得那些碎片吧,拿出容器
let fragmentsOfTime = {};
回传值:四位数数字型别的整数(根据local time)
let getYear = wantToGoDay.getFullYear();
//装入里面吧
let fragmentsOfTime = {};
fragmentsOfTime.year = getFullYear;
console.log(fragmentsOfTime)
getFullYear()延伸问题:Y2K (更新时间:24/15:35)
(感谢我的队友们热情分享)
所谓Y2K问题:
一开始是软件开发者没有意识到会有这个问题,加上硬体成本过高,所以沿袭传统就以2位数表达年份,但时间推进到2000年,程序的年份表达会遇到显示00,但无法辨识背後代表的是1900年 or 2000年?
因此,随着硬体的成本降低,渐渐转用4数表达年份:显示的内容从原本的00变成2000。但硬体的存放空间终究有限,究竟这样4数的存放极限在哪?又为何是所谓的2038问题?
Math.pow(2,31);//得到32位元的值存放极限: 2147483648(s)(世界时间存放系统)
//这样我们还能存几年?
let totalTimeStorage = Math.pow(2,31)/86400(每日秒数)/365;
//就能得到还能存放的时间长度:68
//在文章中有介绍getFullYear(),最早会从1970开始
//因此就比较能理解为何是2038灾难
另一个取得年份的方式是Date.prototype.getYear()
但是MDN并不推荐使用这个methods,理由如下:
let Xmas = new Date('dec 24, 1995 23:15:00');
console.log(Xmas.getYear());
当我们使用getYear()
时,它会将你的预设年份值 - 1900,以上面的案例,我们会得到1995-1900 = 95;
试想:当你输入的年份早於1900年会怎样呢?
2. 部分的浏览器已不支援
回传值:0-11间数字型别的整数(根据local time)
let getMonth = wantToGoDay.getMonth();
fragmentsOfTime.date = getDate;
console.log(fragmentsOfTime)
回传值:1-31间数字型别的整数(根据local time)
let getDate = wantToGoDay.getDate()
consolle.log(getDate);
fragmentsOfTime.date = getDate;
console.log(fragmentsOfTime)
回传值:0-23间数字型别的整数(根据local time)
let getHours = wantToGoDay.getHours()
consolle.log(getHours);
fragmentsOfTime.hours = getHours;
console.log(fragmentsOfTime)
回传值:0-59间数字型别的整数(根据local time)
let getMinutes = wantToGoDay.getMinutes()
consolle.log(getMinutes);
fragmentsOfTime.mintues = getMinutes;
console.log(fragmentsOfTime)
回传值:0-59间数字型别的整数(根据local time)
let getSeconds = wantToGoDay.getSeconds()
consolle.log(getSeconds);
fragmentsOfTime.seconds = getSeconds;
console.log(fragmentsOfTime)
D特:碎片凑齐了!!
(装碎片容器发出巨光)
.....
...
我:修蛋几勒,怎麽没有出去的感觉..?
-- to be continued --
那今天就到这边搂!今天分享喜欢的歌是:
Sidney Bechet - Si tu vois ma mère
https://www.youtube.com/watch?v=HkdCr9HlRE0&list=PLevoGoxUkU1_HrNQhLKotpRUsPMc8CwHf&index=3
每天的休息,是为了後面的追求,明天见。
<<: DAY 09 Extends, Inhreitance
>>: Day 24「小步快跑」Service 与单元测试(上)
亲爱的小四用户您好,心动年代目前更新中,请耐心等候... 30分钟後... 亲爱的小四用户您好,心动...
大家好,我是长风青云。我真的没想到今天我会讲这麽久的影片QAQ 然後我可爱的(?)学弟居然在最後密我...
前言 说起HTML, 大家觉得它如何? 相比起JavaScript, HTML不是什麽program...
1.前言 各位有理解loop中很长的咒语吗?不懂得可以多看几次,不要气馁,文章不会跑走,所以继续加油...
那麽在上一篇已经有安装好了Anaconda了,我们就可以开始使用Anaconda开发环境底下的各式功...