gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 05:26:20 27 4
gpt4 key购买 nike

我有一个 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?

编辑

这段代码工作正常

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 个字符长(或者 < 9)。然后在前面加上 0!

按长度

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);

关于javascript - 将 Javascript 字符串格式化为 03 而不是 3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5261141/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com