将 Javascript 字符串格式化为 03 而不是 3?

2024-01-10

我有一个 Javascript,可以以 html 格式打开今天的文件。

function openToday()
{   
    var today = new Date();
    var strYear = today.getFullYear();
    var strMonth = today.getMonth();
    var strDay = today.getDate();

    var strURL = "file:/time/"+strYear+"/"+strMonth+"/" + strYear+"_"+strMonth+"_"+strDay+ "/" + strYear+"_"+strMonth+"_"+strDay+".html";

    alert(strURL);
    window.open(strURL,"myWindow");
}

问题是我想要2011_03_10,但是代码给了我2011_3_10。 如何将 Javascript 字符串格式化为 03 而不是 3?

EDIT

这段代码工作正常

function openToday()
{   
    var today = new Date();
    var strYear = today.getFullYear();
    var strMonth = today.getMonth();
    strMonth += 1;
    if(strMonth < 10){
        strMonth = "0" + strMonth;
    }
    var strDay = today.getDate();
    if(strDay < 10){
        strDay = "0" + strDay;
    }

    var strURL = "file:/time/"+strYear+"/"+strMonth+"/" + strYear+"_"+strMonth+"_"+strDay+ "/" + strYear+"_"+strMonth+"_"+strDay+".html";

    window.open(strURL,"myWindow");
}

检查月份是否只有 1 个字符长(或者

按长度

var strMonth = today.getMonth();

if(strMonth .length == 1){
    strMonth = "0" + strMonth ;
}

按数量

var strMonth = today.getMonth();

if(strMonth< 10){
    strMonth= "0" + strMonth;
}

可能想避免给变量添加前缀str因为 Javascript 没有明确定义类型,并且可能会混淆代码。例如,说if strMonth < 10逻辑上很好,但维护方面管理起来很混乱。

其他方式!

var strMonth = "0" + today.getMonth();
strMonth = strMonth.substring(strMonth.length-2, 2);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Javascript 字符串格式化为 03 而不是 3? 的相关文章

随机推荐