如何以mm
格式检索当前日期的月份? (即“05”)
这是我目前的代码:
var currentDate = new Date();
var currentMonth = currentDate.getMonth() + 1;
答案 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.padStart 和 String.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"