2017-09-20 32 views
0

AngularJSでFullcalendarを使用しようとしています。 私は何とかカレンダーを実装し、それは動作します(データをSQLに保存します)。Fullcalendar開始時間を現在の時間で設定します。

しかし、カレンダーでその日をクリックすると、モーダルがポップアップし、開始日が時間アスペクトで00:00:00と表示されます。

私の質問は、現在の時間の時間をどのように設定できますか?

現在9AMの場合、開始時刻はどのように時刻を09:00:00に初期化できますか?

これは私がコーディングするためのものです。

select: function(start, end) { 

    $('#ModalAdd #start').val(moment(start).format('YYYY-MM-DD HH:mm:ss')); 
    $('#ModalAdd #end').val(moment(end).format('YYYY-MM-DD HH:mm:ss')); 
    $('#ModalAdd').modal('show'); 
} 

私は何らかの形で以下のコードを変更し、上記のコードの中にそれを置くためにいいだろうという気持ちを持っていますが、私はそれを置く場所に貼り付けられています。

var time = new Time(); 
var h = date.getHour(); 

Time()が動作していても(他のソースからDate()だったかどうかわかりません)。

現在の時間に基づいてFullcalendarで時間を初期化するのにお手伝いできますか?私はこの問題を解決するためのアドバイスやヒントを探しています。

ありがとうございます!

答えて

1

あなたは、選択した日に、現在の(ローカル)システム時刻を追加するためにmomentJSを使用することができます。

select: function(start, end) { 

    var today = moment(); 
    start.set({ hours: today.hours(), minute: today.minutes() }); 

    $('#ModalAdd #start').val(start.format('YYYY-MM-DD HH:mm:ss')); 
    $('#ModalAdd #end').val(end.format('YYYY-MM-DD HH:mm:ss')); 
    $('#ModalAdd').modal('show'); 
} 

https://momentjs.com/docs/#/get-set/set/

を参照してください。また、それはstartendはすでに瞬間であることを言及する価値があるので、あなたドンあなたが前にやっていたときと同じように、瞬時のコンストラクタでそれらをラップする必要がありません。

これを行う場合は、カレンダーに他のビュー、特にアジェンダスタイルのビューがあるかどうかを検討する必要があります。その場合、上記の時間操作コードがビューが「月」のときにのみ実行するようにする必要があります。アジェンダビューは、既定でユーザーが実際にカレンダーで選択した時間を既に使用するためです。

+1

ありがとうございます。出来た!これが他の人にも役立つことを望みます。 –

関連する問題