Js new Date() 年月日时分秒的日期时间格式排序

new Date(): 日期对象

效果

排序前

['2023-12-10 12:01:21', '2023-12-10 18:53:09', '2023-12-10 08:10:12', '2023-12-10 00:06:06', '2023-12-10 16:36:08', '2023-12-10 10:11:12']

排序后

['2023-12-10 00:06:06', '2023-12-10 08:10:12', '2023-12-10 10:11:12', '2023-12-10 12:01:21', '2023-12-10 16:36:08', '2023-12-10 18:53:09']

一、定义

new Date()获取带有格式的时间

二、语法

new Date([, option])

三、参数

可以有参数,如果没有参数获取的是当前的时间对象,参数可以是时间字符串或者是时间戳,转换对应时间的时间对象

四、完整示例

  let timeData = ["2023-12-10 12:01:21", "2023-12-10 18:53:09", "2023-12-10 08:10:12", "2023-12-10 00:06:06", "2023-12-10 16:36:08", "2023-12-10 10:11:12"];

  // 时间格式转换
  function timeFormatConversion(chinaStandard) {
    let date = new Date(chinaStandard);
    let Y = date.getFullYear();
    let M = (date.getMonth() + 1).toString().padStart(2, '0');
    let D = date.getDate().toString().padStart(2, '0');
    let h = date.getHours().toString().padStart(2, '0');
    let m = date.getMinutes().toString().padStart(2, '0');
    let s = date.getSeconds().toString().padStart(2, '0');
    return `${Y}-${M}-${D} ${h}:${m}:${s}`;
  }
  
  // 根据 日期时间 从小到大排序
  function sortByTime(arr) {
    return arr.map((item) => new Date(item)).sort((a, b) => a.getTime() - b.getTime()).map((time) => this.timeFormatConversion(time));
  }

  console.log(sortByTime(timeData)); // ['2023-12-10 00:06:06', '2023-12-10 08:10:12', '2023-12-10 10:11:12', '2023-12-10 12:01:21', '2023-12-10 16:36:08', '2023-12-10 18:53:09']

tips

 1、时间格式转换时的补零一定要规范,否则可能出现应该是两个零但是只有一个零的情况导致时间格式不对

你可能感兴趣的:(javascript,前端,开发语言)