【问题标题】:How to convert 12-Jan-2016 like date string in javascript to 2016-01-12 00:00:00如何在 javascript 中将 12-Jan-2016 之类的日期字符串转换为 2016-01-12 00:00:00
【发布时间】:2016-01-14 06:36:08
【问题描述】:

如何在 javascript 中将 2016 年 1 月 12 日之类的日期字符串转换为 2016-01-12 00:00:00,

我正在查看时刻 js,但似乎没有类似的选项,并且我尝试了 js 日期函数,但返回的日期无效。

知道我在这里缺少什么吗?

【问题讨论】:

    标签: javascript date momentjs


    【解决方案1】:

    如果你只是想重新格式化字符串,那么不要为日期烦恼:

    function reformatDateString(ds) {
       var months = {jan:'01',feb:'02',mar:'03',apr:'04',may:'05',jun:'06',
                     jul:'07',aug:'08',sep:'09',oct:'10',nov:'11',dec:'12'};
      var b = ds.split('-');
      return b[2] + '-' + months[b[1].toLowerCase()] + '-' + b[0] + ' 00:00:00';
    }
    
    document.write(reformatDateString('12-Jan-2016'));

    但是,如果您确实需要将字符串解析为日期,请执行此操作并单独格式化字符串:

    function parseDMMMY(s) {
      var months = {jan:0,feb:1,mar:2,apr:3,may:4,jun:5,
                    jul:6,aug:7,sep:8,oct:9,nov:10,dec:11};
      var b = s.split(/-/);
      return new Date(b[2], months[b[1].toLowerCase()], b[0]);
    }
    
    document.write(parseDMMMY('16-Jan-2016'));
    
    function formatDate(d) {
      function z(n){return ('0'+n).slice(-2)}
      return z(d.getDate()) + '-' + z(d.getMonth()+1) + '-' + d.getFullYear() + 
             ' ' + z(d.getHours()) + ':' + z(d.getMinutes()) + ':' + z(d.getSeconds());
    }
    
    document.write('<br>' + formatDate(parseDMMMY('16-Jan-2016')));

    【讨论】:

      【解决方案2】:

      你可以使用moment parsing函数和format方法:

      var dateString = "12-Jan-2016";
      var convertedFormat = moment(dateString, "DD-MMM-YYYY").format("YYYY-MM-DD HH:mm:ss");
      console.log(convertedFormat);
      // this will display: 2016-01-12 00:00:00
      

      请确保Jan 是您所在地区的有效月份。

      【讨论】:

      • 谢谢你的回复,+1,我会试试的
      【解决方案3】:

      我认为此功能可能会为您提供您正在搜索的内容。

       def parseStringDate(String date,Boolean flagTime=false){
          def date
          def Format='yyyy-MM-dd'
          def datePart=_date.toString().substring(0,10)
          if (flagTime){
              date = datePart+" "+_date.toString().substring(11,19)
            Format=Format+" "+'HH:mm:ss'
          }else date = datePart
          return [date, Format]
      }
      

      【讨论】:

      • 你确定那是javascript?
      猜你喜欢
      • 2021-03-30
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 2019-10-15
      • 2020-12-03
      • 2023-03-29
      • 2020-09-26
      • 2011-06-02
      相关资源
      最近更新 更多