2017-10-11 20 views
0

これは恥ずかしいほど簡単な質問かもしれませんが、私はMoment.jsとfullcalendarを初めて使用しています。fullcalendarの表示時間を数分シフトする方法

目標:ゲットfullcalendarは、ローカルコンピュータの時刻からのオフセット数された瞬間/ DateTimeの上で動作します。

根拠:私たちは、デスクトップの時間とは対照的に、建物の中に古い時計の表示時間とnowIndicatorを同期させたい

はこれまでにしようとしました:

// Get current offset: 
var localOffset = moment().utcOffset(); 

// Shift by 7 minutes for illustration 
localOffset -= 7; 

// Set new offset for moment 
moment().utcOffset(localOffset); 

alert(moment().utcOffset()); 

は、今のところ、それは元のオフセットUTCをバックプリントしnowIndicatorは私のシステムクロックと一致します。これはMoment.js 2.19.0を使用しています。

ありがとうございます。

答えて

0

ADyson's answerは一瞬オブジェクトとその範囲についての誤解をクリア。

初期化する際に任意の量でFullCalendarの時間をずらすの元の問題に答えるために、「今」オプションを使用します。

// Get current time as moment object and add 7 minute offset 
var shiftedTime = moment().add(7, 'minutes'); 

// Set 'now' option in calendar initialization to new moment object 
$('#calendar').fullCalendar({ 
    // put your options and callbacks here 
    now: shiftedTime, 
    defaultView: 'agendaDay', 
    nowIndicator: true 
}); 

をカレンダーとなりましたインジケータの表示がに比べ7分をシフトしますローカルマシン時間。

1

moment().utcOffset()は、デフォルトのオフセットで新しい瞬間を作り出しています。以前にオフセットを設定したオブジェクトとは関係ありません。 momentJSは、moment()コンストラクタを使用してインスタンス化された個々のオブジェクトを使用して動作します。それは静的でもグローバルなものでもありません。あなたがする必要がどのような

は、現時点での仕事であるあなたは上のオフセットを設定オブジェクト:

var offsetMoment = moment(); 
offsetMoment.utcOffset(localOffset); 
alert(offsetMoment.utcOffset()); 
関連する問題