后台拿回来的时间,怎么比较时间的大小,我要拿到最大的一个时间

后台拿回来的时间,怎么计较时间的大小,我要拿到最大的一个时间

clipboard.png

time(){
            let data=[
                {id:1,time:"2018-07-04 00:04:12"},
                {id:2,time:"2018-07-04 00:14:12"},
                {id:3,time:"2018-07-04 00:04:12"},
                {id:4,time:"2018-07-04 00:00:12"},
                {id:5,time:"2018-07-04 00:04:02"},
                {id:6,time:"2018-07-04 00:24:52"},
                {id:7,time:"2018-07-04 01:04:12"},
                {id:8,time:"2018-07-04 05:04:12"},
                {id:9,time:"2018-07-04 07:04:12"},
                {id:10,time:"2018-07-04 00:00:00"},
            ]
            for(var i=0;i<data.length;i++){
                console.log(data[i].time);
                
            }
        }

我怎么比较这些时间 并且拿到最大的时间呢?

阅读 3.4k
6 个回答
data.sort((a,b) => +new Date(a.time) < +new Date(b.time))[0]

你看这个时间能不能转成时间戳,不能的话让后台直接传时间戳给你最好。

    var time = new Date(Date.parse(sTime.replace(/-/g, "/")));

转化格式,再直接比较大小,找到最大的那个值,return出来就可以了。

clipboard.png

用时间戳比较
后台能传过来是最好了
自己转也简单

let date = "2018-07-04 00:04:12"
let timestamp = new Date(date).getTime()
console.log(timestamp)
--定义一个maxtime存放最大时间

var maxtime = "0000-00-00 00:00:00";
for (var i = 0; i < data.length; i++) {
    if (data[i].time > maxtime)
    {
        maxtime = data[i].time;
    }
}
alert(maxtime);

time 中的时间都是前缀了0的,所以可以直接用 time 来进行字符串比较大小

const data = [
    { id: 1, time: "2018-07-04 00:04:12" },
    { id: 2, time: "2018-07-04 00:14:12" },
    { id: 3, time: "2018-07-04 00:04:12" },
    { id: 4, time: "2018-07-04 00:00:12" },
    { id: 5, time: "2018-07-04 00:04:02" },
    { id: 6, time: "2018-07-04 00:24:52" },
    { id: 7, time: "2018-07-04 01:04:12" },
    { id: 8, time: "2018-07-04 05:04:12" },
    { id: 9, time: "2018-07-04 07:04:12" },
    { id: 10, time: "2018-07-04 00:00:00" },
]

const max = data
    .reduce((max, m) => {
        return max.time > m.time ? max : m;
    });

console.log(max);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题