为什么'nextDateAfterDate'功能不能按预期工作?

时间:2016-01-03 14:53:17

标签: ios swift nsdate

我在XCode Playground中有以下代码:

let currentDate = NSDate()

var starttime = NSCalendar.currentCalendar().nextDateAfterDate(currentDate, matchingUnit: NSCalendarUnit.Minute, value: 15, options: NSCalendarOptions.MatchNextTime)

如果currentDate为“2016-01-03 03:57 +0100”,则starttime正确设置为“2016年1月3日,上午4:15”,但如果currentDate为“2016-01-03 03:56 +0100” “starttime错误地设置为”2016年1月4日,上午12:00“。我无法弄清楚什么是错的。我忽视了什么吗?

1 个答案:

答案 0 :(得分:2)

我无法解释意外行为,但将匹配选项设置为

WITH
 SET [~FILTER] AS
    {[Created_Date.Created_Hir].[Created_On].[2014-04-01]:[Created_Date.Created_Hir].[Created_On].[2014-04-30]}
  SET [~ROWS] AS
  {[Sales Order Attributes SO.Sales_order].[Sales Order ID].Members}
  SELECT
   NON EMPTY {[Measures].[CONT_AMT_GROSS], [Measures].[CONT_AMT_NET]} ON     COLUMNS,
   NON EMPTY [~ROWS] ON ROWS
   FROM [SALES_ORDER]
  WHERE [~FILTER]

解决问题并在我的所有测试中给出正确的结果。

[.MatchNextTime, .MatchStrictly] 记录为

  

指定操作应根据需要向前或向后移动以寻找匹配。

相关问题