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


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

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

要求如下:

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

日期和当前时间相比

同一天:今天 07:31

前一天:昨天 07:31

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

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

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。自己也刚好复习一下。


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))




文章作者: 2winter
文章链接: https://2winter.com
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 2winter !
  目录