【问题标题】:SharePoint/Javascript: comparing calendar date times in javascriptSharePoint/Javascript:比较 javascript 中的日历日期时间
【发布时间】:2014-03-05 14:49:53
【问题描述】:

我正在尝试寻找使用 Javascript 比较日期/时间的最佳方法,以防止在 SharePoint 日历上重复预订。所以我加载了一个数组,其中包含包含每个事件的项目,包括它们的开始日期/时间和结束日期/时间。我想将开始日期/时间和结束日期/时间与对象中的开始/结束日期/时间进行比较,但我不确定如何确保日期不会过期。

喜欢:

//date that is created from user controls
var startDate = new Date(startDat + 'T' + startHour + ':' + startMin + ':00');
var endDate = new Date(endDat+ 'T' + endHour+ ':' + endMin+ ':00');
for ( var i = 0; i < allEvents.length; i++ ) {
   var thisEvent = allevents[i];
   //having trouble with the compare

   //i have tried silly ifs like
   if (thisEvent.startDate >= startDate && thisEvent.endDate <= endDate) { 
      // this seems like I am going down the wrong path for sure
   }
}

然后我尝试将加载的对象分解为日期的每个组成部分的单独值(int)

var thisObj = { startMonth: returnMonth(startDate), startDay: returnDay(startDate), etc

但我不确定这不仅仅是另一种愚蠢的方法,还有另一种更有意义的方法,因为我只是在学习这个。

【问题讨论】:

标签: javascript date sharepoint sharepoint-2010 comparison


【解决方案1】:

我有一个类似的需求正在进行中,但我选择在预订阶段使用 jQuery/SPServices 解决它。

代码仍在构建中(即未完成),但该方法可能会有所帮助。

我将一个事件处理程序附加到一个列,然后在选择时,将同一列表中预订的所有日期提取到一个数组中,然后在滚动的 12 个月日历上显示该数组,如下所示。

我不会检查以确保新预订不会重叠,但在 Pre-Save 上快速扫描数组将为我提供严格的 Go/No Go 选项。但依赖于客户端 JS,因此无法在数据表或 Web 服务上下文中工作。

【讨论】:

    猜你喜欢
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 2014-03-20
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    相关资源
    最近更新 更多