2014-03-19 106 views
1

如何使用JavaScript函數從此格式的日期中減去一個月?在js中從'yyyymm'減去月份

例如: 201301 - > 201212

+0

在這裏看到https://開頭開發商。 mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Obje cts /日期 – elclanrs

回答

3
function subtractMonth(year_month){ 
year_month = parseInt(year_month); 
if(year_month%100 == 1) return year_month-89; 
return year_month-1; 
} 
+0

根據主題,我認爲年份月份是字符串格式。 – Hogan

+0

@霍根它應該沒關係。 JavaScript會嘗試打開'month'參數 – jasonscript

+0

@Hogan我已經添加了'month = parseInt(month);'這行應該將字符串轉換爲數字。 –

1

嘗試類似:

function processDate(dateString){ 
    var month=dateString%100; 
    var year=dateString/100; 
    var d=new Date(year,month-1,1,0,0,0,0) 

    d.setDate(d.getDate()-2); 
    year=d.getFullYear().toString(); 
    month=("0"+(d.getMonth()+1).toString()).substr(-2); 
    document.write(year+month); 
} 

processDate(201401)應該給你201312