【笔记】JS写一个社区回帖时间戳的工具函数。

TIPS:这是技术面试给我的题目,我第一次远程面试,紧张的没看懂题目,事后才发现这不就是社区回帖的时间工具吗,,翻车了,面试的时候,我还去split和正则,尴尬死了。

虽然没面试好,但是刚好自己写一个记一下。

要求如下:

有一串Date数据,请你根据以下规则分别将每一条Date解析并输出

日期和当前时间相比

同一天:今天 07:31

前一天:昨天 07:31

1天之前(显示具体日月和时间):6-13 07:31

1年之前(显示具体年日月和时间):2021-12-12 07:31

1
2
3
4
5
6
7
8
9
10
2022-06-15T07:31:22.752Z
2022-06-14T07:31:22.752Z
2022-06-13T07:31:22.752Z
2022-03-10T07:31:22.752Z
2022-01-11T07:31:22.752Z
2021-12-16T07:31:22.752Z
2021-05-01T07:31:22.752Z
2021-03-16T07:31:22.752Z
2020-11-12T07:31:22.752Z
2020-03-16T07:31:22.752Z

函数如下:这个函数没有太完善,只是个TODO。自己也刚好复习一下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

let list =`2022-06-15T07:31:22.752Z 2022-06-14T07:31:22.752Z 2022-06-13T07:31:22.752Z 2022-03-10T07:31:22.752Z 2022-01-11T07:31:22.752Z 2021-12-16T07:31:22.752Z 2021-05-01T07:31:22.752Z 2021-03-16T07:31:22.752Z 2020-11-12T07:31:22.752Z 2020-03-16T07:31:22.752Z`.split(' ');
function formatDate(d){
let tmp_d = (new Date(d)).getTime() - 1000*60*60*8;
let d_obj = (new Date(tmp_d));
console.log('当前日期:'+d_obj.toISOString())
//今天
console.log('今天 '+d_obj.getHours() + ':'+d_obj.getMinutes());
//昨天TODO
console.log('昨天 '+d_obj.getHours() + ':'+d_obj.getMinutes());
//1天之前(显示具体日月和时间):6-13 07:31
console.log(( '一天之前 '+(d_obj.getMonth() + 1))+ '-'+(d_obj.getDate() - 1) + ' '+d_obj.getHours() +':'+ d_obj.getMinutes());
//1年之前(显示具体年日月和时间):2021-12-12 07:31
console.log(( '一年之前 '+(d_obj.getFullYear() - 1) +'-' + (d_obj.getMonth() + 1))+ '-'+(d_obj.getDate()) + ' '+d_obj.getHours() +':'+ d_obj.getMinutes());

}
formatDate('2022-06-15T07:31:22.752Z');
list.map((r,i)=>formatDate(r))