2010-05-20 45 views

Trả lời

17
if (currentMonth < 10) { currentMonth = '0' + currentMonth; } 
+0

Cảm ơn! Ban đầu tôi đã có 'if (currentMonth <9) {currentMonth =" 0 "+ currentMonth; } 'và nó không hoạt động. Đoán tôi cần báo giá duy nhất thay vì tăng gấp đôi. –

+0

Odd .. loại báo giá không thành vấn đề! Có thể là một tạo tác của loại cưỡng chế và toán tử '+' .. – Matt

+1

Bạn muốn '<10' khác 9 không trả lại '09' –

47

Một cách khác:

var currentMonth=('0'+(currentDate.getMonth()+1)).slice(-2) 
+1

+1 vì tôi đã sao chép bạn cho một phần câu trả lời của tôi. – eyelidlessness

+1

+1 cho sự thanh lịch –

+0

Xin cảm ơn các bạn! :) –

0

Để cho câu trả lời chấp nhận để trả về một chuỗi liên tục, nó phải là:

if(currentMonth < 10) { 
    currentMonth = '0' + currentMonth; 
} else { 
    currentMonth = '' + currentMonth; 
} 

Hoặc:

currentMonth = (currentMonth < 10 ? '0' : '') + currentMonth; 

Just for funsies, đây là một phiên bản mà không có một điều kiện:

currentMonth = ('0' + currentMonth).slice(-2); 

Edit: chuyển sang slice, mỗi câu trả lời Gert G, tín dụng mà tín dụng là do; substr làm việc quá, tôi đã không nhận ra nó chấp nhận một tiêu cực start luận

0

Nếu bạn làm điều này

var currentDate = new Date(); 
var currentMonth = currentDate.getMonth() + 1; 

sau đó currentMonth là một con số, mà bạn có thể định dạng như bạn muốn, xem câu hỏi này sẽ giúp bạn với định dạng: How can I format an integer to a specific length in javascript?

0

cho ngày:

("0" + this.getDate()).slice(-2) 

và tương tự cho các tháng:

("0" + (this.getMonth() + 1)).slice(-2) 
3

Một dòng giải pháp:

var currentMonth = (currentDate.getMonth() < 10 ? '0' : '') + currentDate.getMonth(); 
0
var CurrentDate = new Date(); 
    CurrentDate.setMonth(CurrentDate.getMonth()); 

    var day = CurrentDate.getDate(); 
    var monthIndex = CurrentDate.getMonth()+1; 
    if(monthIndex<10){ 
     monthIndex=('0'+monthIndex); 
    } 
    var year = CurrentDate.getFullYear(); 

    alert(monthIndex); 
0

ES6 phiên bản inpired bởi @ Gert-grenander

let date = new Date(); 
let month = date.getMonth() +1; 
month = (`0${month}`).slice(-2); 
Các vấn đề liên quan