在javascript中以mm格式获取月份

时间:2010-05-20 22:03:13

标签: javascript date

如何以mm格式检索当前日期的月份? (即“05”)

这是我目前的代码:

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

10 个答案:

答案 0 :(得分:50)

另一种方式:

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

答案 1 :(得分:18)

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

答案 2 :(得分:4)

一线解决方案:

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

答案 3 :(得分:2)

日期:

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

和月份相似:

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

答案 4 :(得分:0)

为了让接受的答案一致地返回一个字符串,它应该是:

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

或者:

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

只是为了测试,这是一个没有条件的版本:

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

编辑:根据Gert G的回答切换到slice,信用到期的信用; substr也有效,我没有意识到它接受了负start论证

答案 5 :(得分:0)

如果你这样做

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

然后currentMonth是一个数字,你可以根据需要格式化,看到这个问题可以帮助你格式化:How can I format an integer to a specific length in javascript?

答案 6 :(得分: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);

答案 7 :(得分:0)

ES6版本由@ gert-grenander启发

let date = new Date();
let month = date.getMonth() +1;
month = (`0${month}`).slice(-2);

答案 8 :(得分:0)

使用ES6模板字符串的替代方法

mm/yyyy的解决方案。问题还不完全,但是我想删除第二部分。

const MonthYear = `${dateObj.getMonth() < 10 ? '0' : '' }${dateObj.getMonth()+1}/${dateObj.getFullYear()}`

const Month = `${dateObj.getMonth() < 10 ? '0' : '' }${dateObj.getMonth()+1}`

答案 9 :(得分:0)

此处的答案引用了 number formatting 上的一个,但没有代码示例。这是自 ES2017 以来已被简化的一般字符串填充问题。您可以使用 String.prototype.padStartString.prototype.padEnd 来确保字符串具有固定的最小长度。

Date.prototype.getMonth 的返回是一个从 0(一月)到 11(十二月)的数字。要表示为从 '01' 到 '12' 的字符串,您可以这样做:

File "/home/pi/ledcontroller/LEDControllerApp/models.py", line 49, in Zone
    initial_led = models.IntegerField(default=0,validators=[MaxValueValidator(strip.max_led_number), MinValueValidator(0)])
AttributeError: 'ForeignKey' object has no attribute 'max_led_number'

这同样适用于 Date.prototype.getDate 的返回,一个从 1 到 31 的数字:

let date = new Date()
let month = date.getMonth() + 1
let display = month.toString().padStart(2, '0')
console.log(display) // one of "01", "02", ..., "09", "10", "11", "12"

或者只是任何你想成为最小长度的字符串的值:

console.log(
  new Date().getDate().toString().padStart(2, '0')
) // one of "01", "02", ..., "31"