1

アジェンダウィークビューに週番号を表示する方法を探しています。私はこの方法を試しましたが、結果はありませんでした。

実際には、このようにカレンダーのタイトルに数字を入れる必要があります

titleFormat:
        {
            month: "'Calendar<br />'MMMM yyyy",
            week: "'Calendar<br />Week' W",
            day: "'Calendar<br />'dddd dd MMM yyyy"
        }

しかし、もちろん「W」は存在しません。それを行う方法はありますか?

ありがとう。

4

3 に答える 3

5

このオプションを使用すると、FullCalendar で週番号をオンにすることができます。

$("#calendar").fullCalendar({
  weekNumbers: true
});

関連ドキュメントへのリンクは次のとおりです: http://arshaw.com/fullcalendar/docs/display/weekNumbers/

ところで、タイトル形式で「W」を使用すると、現在の週番号が挿入されます(月、週、日の両方)。FullCalendar の最新バージョンを使用していますか? v.1.6.1を使用しています。

  • レギン
于 2013-07-08T11:40:01.213 に答える
1

私はしばらく前にこのコードを使用しました:

<script type="text/javascript" language="JavaScript">
function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function getWeek(year,month,day) {
    var when = new Date(year,month,day);
    var newYear = new Date(year,0,1);
    var offset = 7 + 1 - newYear.getDay();
    if (offset == 8) offset = 1;
    var daynum = ((Date.UTC(y2k(year),when.getMonth(),when.getDate(),0,0,0) - Date.UTC(y2k(year),0,1,0,0,0)) /1000/60/60/24) + 1;
    var weeknum = Math.floor((daynum-offset+7)/7);
    if (weeknum == 0) {
        year--;
        var prevNewYear = new Date(year,0,1);
        var prevOffset = 7 + 1 - prevNewYear.getDay();
        if (prevOffset == 2 || prevOffset == 8) weeknum = 53; else weeknum = 52;
    }
    return weeknum;
}

var now = new Date();
alert('Week number = ' + getWeek(y2k(now.getYear()),now.getMonth(),now.getDate()));
</script>

getWeek() 関数は年、月、日を取得し、週番号を返します。

デモ

あなたが望んでいたことを願っています。

幸運を!

于 2013-07-04T16:25:58.190 に答える
1

私はこれを行う方法を見つけました、そしてそれは私のために働きます:

これを設定に配置します:

viewDisplay: function(view) {
      if (view.name == 'agendaWeek')
      {
          $("table.fc-header span.fc-header-title h2").append("<br />Week " + getWeekNumber(view.start));
      }
   }, // others settings...

フルカレンダー設定の前に、これを同じファイルに配置します

function getWeekNumber(d) {
  d = new Date(d);
  d.setHours(0, 0, 0);

  d.setDate(d.getDate() + 4 - (d.getDay() || 7));

  const yearStart = new Date(d.getFullYear(), 0, 1);

  const weekNo = Math.ceil(((d - yearStart) / 86400000 + 1) / 7);

  return weekNo;
}

そして、それはそれです。以前の回答ありがとうございます。fullcalendar バージョンを更新しようと思います。

于 2013-07-08T13:34:43.853 に答える