我正在编程一个日历,我需要知道每个月的第一天是什么。喜欢,这个月,第一天是星期天。我将如何在一年的所有月份中弄清楚这一点?或者这个问题的任何一个月。JS日期,月的第一天
在此先感谢!
编辑:当天可以作为整数返回。
我正在编程一个日历,我需要知道每个月的第一天是什么。喜欢,这个月,第一天是星期天。我将如何在一年的所有月份中弄清楚这一点?或者这个问题的任何一个月。JS日期,月的第一天
在此先感谢!
编辑:当天可以作为整数返回。
JavaScript已经提供了这个开箱即用getDay
。
new Date().getDay()
这将返回0-6。取决于它是哪个工作日。
如果你需要它作为一个可读的字符串,你可能想要做这样的事情:
var weekdays = [
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
];
console.log(weekdays[new Date().getDay()]);
知道了这一点,你可以去furter:
const year = new Date().getFullYear();
const weekdays = [
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
];
[0,1,2,3,4,5,6,7,8,9,10,11].forEach(x => {
const weekday = new Date(year, x, 1).getDay();
console.log(weekdays[weekday]);
});
见:MDN
我会强烈建议,如果你是不是已经使用它使用MomentJS库。
moment("2017-11-01").startOf('month').format("dddd")
如果你不能因为某些原因使用一下,然后你可以只创建一个函数,它在month
和year
并返回:使用的时刻,你可以使用这个单独的语句得到任何本月1日的天那个月的第一天的那一天。您需要为此使用Date.prototype.getDay(),该值返回从0到6的值,其中0表示星期日。
$("#get-day").on("click", function(e){
var year = $("#year").val();
var month = $("#month").val();
alert(getDay(year, month));
});//#get-day click()
function getDay(year, month){
var days = ["Sun", "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat"];
var dayIndex = new Date(year + "-" + month + "-01").getDay();
return days[ dayIndex ];
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="year" value="2017" />
<input type="text" id="month" value="10" />
<button id="get-day">Get Day on 1st</button>
的.getDay()方法根据本地时间,星期日= 0和星期六= 6这是一个使用的示例返回一个整数,该星期的指定日期当天这样的:
dateFunction = function(myDate){
var days =
["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]
var dayInt = new Date(myDate).getDay()
return days[dayInt]
}
var FirstDayOfOctober = dateFunction("2017-10-01");
凡的toLocaleString选项的支持,你可以用它在浏览器的默认语言来获得一天的名字:
function getDayName(date) {
return date.toLocaleString(undefined, {weekday:'long'});
}
function getMonthName(date) {
return date.toLocaleString(undefined, {month:'long'});
}
// Create a date
var d = new Date();
// Set to first of month
d.setDate(1);
// Create string
console.log(`The first of ${getMonthName(d)} was a ${getDayName(d)}.`);
当然与其他语言混合英语可能不适合的...
你可以用'新的日期( “2017年10月1日”)。getDay()'来获得任何日期的那一天。没有? –
我如何将它变成适用于任何月份的功能?这是我的问题 – Miguel