【问题标题】:Reformat string containing date with Javascript使用 Javascript 重新格式化包含日期的字符串
【发布时间】:2016-06-17 12:44:14
【问题描述】:

我有以下字符串,我最终需要的格式为 mm/yy

    var expDate = 2016-03;
    var formatExp = expDate.replace(/-/g , "/");

这让我到了 2016/03,但我怎样才能到 03/16?

【问题讨论】:

    标签: javascript html string replace str-replace


    【解决方案1】:

    一个没有正则表达式的解决方案:

    var expDate = '2016-03';
    var formatExp = expDate.split('-').reverse().join('/');
    //result is 03/2016
    alert('result: ' + formatExp);
    
    var formatExpShort = expDate.substring(2).split('-').reverse().join('/');
    //result is 03/16
    alert('result short: ' + formatExpShort);

    【讨论】:

    • 谢谢,这非常接近,但它不会丢失年份的前两位数?
    • 你这个人!万分感谢。我会在几分钟内标记为已解决
    【解决方案2】:

    使用正则表达式:

    '2016-03'.replace(/^\d{2}(\d{2})-(\d{2})$/, '$1/$2')

    【讨论】:

    • 这得到了我的投票,我喜欢正则表达式,但对于那种解决方案我太慢了 ;)
    【解决方案3】:

    你真的需要使用 RegExp 吗?

    为什么不创建一个简单的函数来拆分 exp 日期并以您想要的方式返回它?

    function parseDate(expDate){
    
         var dateArray = expDate.split('-')
         return dateArray[1] + '/' + dateArray[0].substring(2,4)
    }
    

    split 函数创建一个数组,位置1 的元素是月份,位置2 的元素是年份,在后者上应用推断最后两位数字的子字符串函数。

    【讨论】:

      猜你喜欢
      • 2015-04-01
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 2015-10-02
      • 2011-08-29
      • 1970-01-01
      相关资源
      最近更新 更多