javascript - 将任何类型的日期格式转换为 MM\DD\YYYY

标签 javascript date datetime google-apps-script

我正在将这 2 组日期转换为格式 MM\DD\YYYY

1.2017 年 8 月 31 日星期四 15:00:00 GMT+08:00

  • 2017-08-09
  • 当我转换第一个时,我使用此代码。

    var STD_Date = STD_data[i][4]; //<----This is where the date comes.
    var date = convertDate(STD_Date);
    var datearray = date.split("/");
    var New_STDDate = datearray[1] + '/' + datearray[0] + '/' + datearray[2];
    

    这是函数convertDate()

    function convertDate(inputFormat) {
      function pad(s) { return (s < 10) ? '0' + s : s; }
      var d = new Date(inputFormat);
      return [pad(d.getDate()), pad(d.getMonth()+1), d.getFullYear()].join('/');
    }
    

    这就是我格式化第二个的方式。

    这就是函数

      var toMmDdYy = function(input) {
        var ptrn = /(\d{4})\-(\d{2})\-(\d{2})/;
        if(!input || !input.match(ptrn)) {
            return null;
        }
        return input.replace(ptrn, '$2/$3/$1');
    };
    

    这就是我的使用方式。

    var startdate = form.startdate //<--- comes from HTML Picker (Format "YYYY-MM-DD")
    toMmDdYy(startdate)
    

    我的问题是我怎样才能有一个函数来格式化日期,无论是第一个还是第二个?

    Convert_TimeStamp_Date(){
      //This is where to code will go to convert
      //to MM\DD\YYYY
    }
    
    //Then call it
    var startdate = "2017-08-08"
    var timestamp = "Thu Aug 31 15:00:00 GMT+08:00 2017"
    Convert_TimeStamp_Date(startdate);
    Convert_TimeStamp_Date(timestamp);
    //both of them the output must be "MM\DD\YYYY"
    

    这是当前的代码,但期待更好的代码。 工作

    //Time Stamp to MM\DD\YYYY
    function convertDate(inputFormat) {
      function pad(s) { return (s < 10) ? '0' + s : s; }
      var d = new Date(inputFormat);
      var chopdate = [pad(d.getDate()), pad(d.getMonth()+1), d.getFullYear()].join('/');
      var datearray = chopdate.split("/");
      var newdate  = datearray[1] + '/' + datearray[0] + '/' + datearray[2];
      return newdate;
    }
    
    //YYYY-MM-DD tp MM\DD\YYYY
    var toMmDdYy = function(input) {
        var ptrn = /(\d{4})\-(\d{2})\-(\d{2})/;
        if(!input || !input.match(ptrn)) {
            return null;
        }
        return input.replace(ptrn, '$2/$3/$1');
    };
    
    //Convert Date based on input to MM\DD\YYYY
    function ConverSpedDate(input){
       if( input.lenght > 10 ) return toMmDdYy(input);
        return convertDate(input);
    }
    

    最佳答案

    这应该有效

    convertDate = function( input ){
        if( input.lenght > 10 ) return convertDate( input );
        return toMmDdYy( input );
    }
    

    关于javascript - 将任何类型的日期格式转换为 MM\DD\YYYY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46029246/

    相关文章:

    javascript - 没有 Moment.js 的 Pikaday 日期格式

    php - Carbon::isoFormat 不存在

    python - 检查两种不同格式的日期是否有效

    javascript - Google Analytics 调用后恢复原始 anchor 击事件

    javascript - 在一个时期之后改变文本,无限循环

    javascript - 在 Material ui的日期选择器中更改格式日期

    java 8 时间 api - Instant.now(clock) 与 LocaldateTime.now(clock)

    javascript - CSS-Sprites + D3.js

    javascript - LeafletJS 面向对象的最佳方法

    MySQL显示整个月的所有日期