[英]JS dates, first day of the month
我正在编写日历,我需要知道每个月的第一天是什么。 例如,本月的第一天是星期日。 我将如何计算出一年中所有月份的情况? 或任何月份。
提前致谢!
编辑:日期可以作为整数返回。
如果支持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)}.`);
当然,将英语与其他某种语言混合可能不合适。
您可以创建一个返回日期名称的方法
function(year, month){
var date = new Date(year, month, 1);
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
return days[date.getDay()];
}
JavaScript已经使用getDay
开箱即用了。
new Date().getDay()
这将返回0-6。 取决于星期几。
如果需要它作为可读字符串,则可能需要执行以下操作:
var weekdays = [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ]; console.log(weekdays[new Date().getDay()]);
知道这一点,您就可以进一步:
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库,我强烈建议您使用它。 使用时刻,您可以使用以下单个语句获取每月的1号:
moment("2017-11-01").startOf('month').format("dddd")
如果由于某种原因无法使用矩,那么您可以创建一个函数,该函数以month
和year
并返回该月的第一天。 您需要为此使用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");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.