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

2023-12-18

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐