2017-09-20 81 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(); 

我不知道它()甚至工作时间(它是从其他来源日期())。

请任何人都可以帮助我根据当前小时初始化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

非常感谢您的建议!有效!希望这也能帮助别人。 –