巧用JS字符串的方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010975530/article/details/52073747

今天学到了一个小技巧,和大家分享一下。
我们常常会遇到时间字符串的各种转换,麻烦的很。但是如果你对String对象的各个方法都能熟练掌握的话,这些都是小菜一碟。
我今天遇到的问题是如何给数字前补0,比如你要得到的是2016-07-30,而你获取的却是2016-7-30,这就有点小尴尬,要做到转化方法有如下两个:
方法一

/**
 * 将形如yyyy-m-d的字符串转化为yyyy-mm-dd格式的
 * @param {Object} yyyy-m-d
 */
var changeStr = function(str){
    var year = str.substring(0,4);
    var month = str.substring(str.indexOf('-') + 1, str.lastIndexOf('-'));
    var day = str.substring(str.lastIndexOf('-') + 1);
    return  year + '-' 
            + (month < 10 ? '0' + month : month) + '-'
            + (day < 10 ? '0' + day : day);
}
console.log(changeStr('2016-7-5'));// 2016-07-05

方法二

/**
 * 将形如yyyy-m-d的字符串转化为yyyy-mm-dd格式的
 * @param {Object} yyyy-m-d
 */
var changeStr = function(str){
    var year = str.substring(0,4);
    var month = str.substring(str.indexOf('-') + 1, str.lastIndexOf('-'));
    var day = str.substring(str.lastIndexOf('-') + 1);
    return  year + '-' 
            + ('0' + month).slice(-2) + '-' 
            + ('0' + day).slice(-2);
}
console.log(changeStr('2016-7-5'));// 2016-07-05

个人感觉方法二比较好一些。

阅读更多

没有更多推荐了,返回首页