【问题标题】:convert ' June 09 2021, 01:50:00 PM' to 2021-06-09 13:50:00 dateformat in NODEJS在 NODEJS 中将“2021 年 6 月 9 日,下午 1:50:00”转换为 2021-06-09 13:50:00 日期格式
【发布时间】:2021-06-10 06:44:59
【问题描述】:

如何在 NODEJS 中将此“2021 年 6 月 9 日 01:50:00 PM”转换为 2021-06-09 13:50:00 日期格式。

【问题讨论】:

    标签: node.js date timestamp datetime-format


    【解决方案1】:

    你可以这样转换:

     const convertDateTo24Hour = (date) => {
     var elem = date.split(',');
    var msplit = date.split(' ');
    
      let months = ["January", "February", "March", "April", "May", "June", "July", 
     "August", "September", "October", "November", "December"];
     let index = months.indexOf(msplit[0]) + 1;
     let newDate = msplit[2].replace(',','') + "-" + index + "-" + msplit[1];
    
      var stSplit = elem[1].split(' ');
     var abc = stSplit[1].split(":");
     var stHour = abc[0];
     var stMin = abc[1];
     var stSec = abc[2];
     var stAmPm = elem[1].split(" ");
    
     if (stAmPm[2] == 'PM') {
       if (stHour != 12) {
       stHour = stHour * 1 + 12;
     }
     } else if (stAmPm[2] == 'AM' && stHour == '12') {
       stHour = stHour - 12;
     } else {
     stHour = stHour;
     }
    
    return newDate + " " + stHour + ':' + stMin + ":" + stSec;
    }
    

    【讨论】:

      【解决方案2】:

      您可以使用 Date 构造函数进行解析,然后将 Date.toLocaleString 格式化为 ISO 日期输出,如下所示:

      const input = 'June 09 2021, 01:50:00 PM';
      const inputFormat = 'MMMM DD YYYY H:mm:ss a';
      
      const d = new Date(input);
      console.log('Result:', d.toLocaleString('sv')); 

      【讨论】:

      • Moment.js 暂时不能使用。
      猜你喜欢
      • 2022-12-05
      • 2021-08-26
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      相关资源
      最近更新 更多