"bootstrap compatable calendar"周一不开始



我正在努力让这个代码为我工作:

https://codepen.io/bbarry/pen/Eopdk

我想日历周一开始。我已经改变了日子:[]从Sa So到Mo Su在.js.

但这只会改变标题。日期仍然错误,12月1日仍然是星期三,但今年应该是星期二。

我很确定问题就在.html:中这个部分附近的某个地方

<thead>
<tr class="c-weeks">
{{ for (i = 0; i < 7; i++) { }}
<th class="c-name">
{{: days[i] }}
</th>
{{ } }}
</tr>
</thead>
<tbody>
{{ for (j = 0; j < 6 && (j < 1 || mode === 'month'); j++) { }}
<tr>
{{ for (i = 0; i < 7; i++) { }}
{{ if (thedate > last) { dayclass = nextmonthcss; } else if (thedate >= first) { dayclass = thismonthcss; } }}
<td class="calendar-day {{: dayclass }} {{: thedate.toDateCssClass() }} {{: date.toDateCssClass() === thedate.toDateCssClass() ? 'selected':'' }} {{: daycss[i] }} js-cal-option" data-date="{{: thedate.toISOString() }}">
<div class="date">{{: thedate.getDate() }}</div>
{{ thedate.setDate(thedate.getDate() + 1);}}
</td>
{{ } }}
</tr>
{{ } }}
</tbody>

我已经尝试更改循环(i = 0; i < 7; i++),但我无法修复它。

html文件中的循环for (i = 0; i < 7; i++)只打印7个标题单元格,迭代数组days并打印单元格中的数组值。正如您所看到的,这不会影响日期。您需要处理日期对象。

html文件中有两个日期对象:一个用于月视图,另一个用于周视图和日视图。

月视图

日期对象在html文件的第12行实例化:

first = new Date(year, month, 1), 

这意味着新的日期对象,传递参数year(上面定义为当年(和month(上面定义的为当年(。第三个论点是将一个月的哪一天视为该月的第一天。设置此参数0。

first = new Date(year, month, 0), 

周视图

日期对象在html文件的第20行实例化:

thedate = new Date(date);

日期设置在第21行:

thedate.setDate(date.getDate() - date.getDay());

只需将日期设置如下:

thedate.setDate(date.getDate() - date.getDay()+1);

日视图:不需要更改,因为您使用的是周视图的同一对象。

请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date

相关内容

  • 没有找到相关文章

最新更新