[英]JavaScript: get array of day names of given date (month/year)
如何在給定月份/年份的日期名稱中獲取整個月份? 像:
var year = "2000";
var month = "7"
... some code here that makes an array with names of days of the given month...
輸出看起來像:
Array ("1. Sunday", "2. Monday", "3. Tuesday", ... "29. Thursday", "30. Friday", "31. Saturday");
最好的問候,克里斯
這應該按照您的要求進行。
function getDaysArray(year, month) {
var numDaysInMonth, daysInWeek, daysIndex, index, i, l, daysArray;
numDaysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
daysInWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
daysIndex = { 'Sun': 0, 'Mon': 1, 'Tue': 2, 'Wed': 3, 'Thu': 4, 'Fri': 5, 'Sat': 6 };
index = daysIndex[(new Date(year, month - 1, 1)).toString().split(' ')[0]];
daysArray = [];
for (i = 0, l = numDaysInMonth[month - 1]; i < l; i++) {
daysArray.push((i + 1) + '. ' + daysInWeek[index++]);
if (index == 7) index = 0;
}
return daysArray;
}
試試這個
<!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button to display todays day of the week.</p>
<button onclick="myFunction()">Try it</button>
<script type="text/javascript">
function daysInMonth(month,year) {
return new Date(year, month, 0).getDate();
}
function myFunction()
{var b=[],weekday = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],month=7,year=2000;
for(var i=1,l=daysInMonth(month,year);i<l;i++){
var d = new Date(year,month-1,i);
b.push(i+"."+weekday[d.getDay()]);
}
console.log(b);}//b is the desired array
</script>
</body>
</html>
您可以使用標准的 JavaScript Date 對象非常輕松地自己完成邏輯。 這是一個將一個日期推入數組的示例。 只需循環調用該方法的整個月。 ( jsFiddle )
var daysOfTheWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
function getDisplay(month, day, year) {
var d = new Date(year, month-1, day);
return day + '. ' + daysOfTheWeek[d.getDay()];
}
array_push($dates, getDisplay(7, 4, 2012));
試試這個並在控制台中查看結果。
<script>
var weekday = ['Sunday', 'Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday', 'Saturday'];
var month = '7';
var year = '2012';
realMonth = parseInt(month,10)-1;
var monthObj = {};
for(var i=1;i<30;i++)
{
var d = new Date(year,realMonth,i);
monthObj[i] = weekday[d.getDay()];
}
console.log(monthObj);
</script>
我知道這是一個老問題,但今天有一個與此相關的問題,我想指出除了將day (0-6)
轉換為string (Sunday-Saturday)
之外不需要做太多事情
function getDays(year, month) { //month: 1-based, as normal person --month //change it to 0-based, as Date object let dayname = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] let date = new Date(year, month) let result = [] while(date.getMonth()==month){ result.push(`${date.getDate()}. ${dayname[date.getDay()]}`) date.setDate(date.getDate()+1) } return result; } console.log(getDays(2019,12))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.