[英]Formatting Javascript string to have 03 not 3?
我有一個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
說if strMonth < 10
在邏輯上是正確的,但是維護明智,那就很難管理。
其他方式!
var strMonth = "0" + today.getMonth();
strMonth = strMonth.substring(strMonth.length-2, 2);
您可以創建通用填充功能 :
function pad(number, length) {
var str = '' + number;
while (str.length < length) {
str = '0' + str;
}
return str;
}
pad(today.getDay(), 2); // If today was '3', would print '03'
我不久前做了一個功能。
var strURL = "file:/time/"+strYear+"/"+convertDateToString(date.getMonth()+1)+"/" + strYear+"_"+convertDateToString(date.getMonth()+1)+"_"+strDay+ "/" + strYear+"_"+strMonth+"_"+strDay+".html";
功能:
/*
Method: convertDateToString
Input: Integer
Returns: a string from a number and adds a 0 when the number is smaller than 10
Examples: 1 => 01, 8 => 08, 11 => 11
*/
function convertDateToString(number){
return (number < 10 ) ? 0+number.toString() : number.toString();
}
祝好運!
也許您可以擴展它以允許填充字符串,如下所示:
function pad(number, length, padWith) {
padWith = (typeof padWith!=='undefined) ? padWith : '0';
var str = '' + number;
while (str.length < length) {
str = padWith + str;
}
return str;
}
var strMonth = today.getMonth();
if(strMonth.length == 1){
strMonth = '0' + strMonth;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.