问题标签 [nscalendar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
20022 浏览

iphone - 每月第一天的 NSDate

这是一个非常简单的概念,但到目前为止,我还没有找到一个优雅的(并且独立于日历区域设置)的解决方案。我需要找到该月的第一天以获取任意NSDate. 例如,给定一个任意的NSDate( arbitraryDate) 将返回另一个 NSDate 对象(我们称之为 this firstDayOfMonthDate),它表示arbitraryDate. 时间部分无关紧要,因为我只需要一个月的第一天的 NSDate 对象(尽管为了简洁起见,如果时间刚刚清零会很有用)。

提前感谢您的任何帮助。

0 投票
1 回答
577 浏览

objective-c - NSCalendar 崩溃的应用程序

我在 viewDidLoad 中初始化一个 NSCalendar,如下所示:

日历在相应的 .h 文件中声明,如下所示:

从我的应用程序崩溃的方法访问日历时:

这似乎与崩溃日志相关:

异常类型:EXC_BAD_ACCESS (SIGBUS)
异常代码:0x0000000000000015 处的 KERN_PROTECTION_FAILURE 崩溃
线程:0 调度队列:com.apple.main-thread

应用程序特定信息:
objc_msgSend() 选择器名称:components:fromDate:toDate:options:
iPhone Simulator 225, iPhone OS 3.2 (iPad/7W367a)

有任何想法吗 ?

谢谢

0 投票
1 回答
874 浏览

iphone - iPhone SDK,如何获取即将到来的星期五 20:00 的 NSDate 对象?

有谁知道如何获得即将到来的星期五 20:00 的 NSDate ?

0 投票
2 回答
297 浏览

iphone - 使用 NSCalendar 创建一个 NSMutableArray

我有以下问题:我需要在特定日期之后的每个工作日创建一个 NSMutabeArray。

这应该看起来像:

  • 2010 年 10 月 28 日星期四
  • 2010 年 10 月 4 日星期四
  • 2010 年 10 月 11 日星期四
  • ...

我怎样才能做到这一点?我认为这与 NSCalendar 有关,但我找不到正确的解决方案......你能帮帮我吗?

先感谢您

弗伦茨

0 投票
1 回答
357 浏览

iphone - NSDateComponents 给出奇怪的结果

我正在创建一个每周日历视图,其中一部分是计算显示周的第一天。我还希望保存的日期具有第一秒的时间,所以我试图确保日期的 hh:mm:ss 都是 00:00:00。

我有以下代码,在大多数情况下都可以正常工作,但是当日期在一年的开始或结束时会给出看似随机的结果。

不知何故,将 hh:mm:ss 设置为 00:00:00 会将日期从 2010 年 1 月 3 日更改为 2009 年 1 月 11 日。

我已将 dateFromComponents 的结果添加为这些行的注释。这种奇怪的行为似乎只在一年左右发生,并且在我见过的任何其他星期都不会发生。

谢谢你的帮助!

0 投票
1 回答
944 浏览

objective-c - 本地时区的当前 NSDate 是否在另一个时区的开始和结束 NSDates 的范围内?

我需要确定用户当前的 NSDate(本地时区)是否在属于其他时区的两个 NSDate 的范围内。

例如:

我在加利福尼亚,现在是太平洋标准时间 20:00。纽约的一家咖啡店在美国东部标准时间 08:00 至 00:00 之间营业。咖啡店被存储为那些确切的值,并与指示 America/New_York 的 tz 字段一起在 XML 中发送。

我需要能够确定咖啡店目前是否在世界上营业。在此示例中,由于纽约只有美国东部标准时间 23:00,因此它仍然会营业。

我尝试过使用 NSDate、NSTimeZone、NSCalendar、NSDateComponents 来构造一个要转换的算法,但我一直没有成功,当我认为我理解它时,我又感到困惑。NSDate 没有时区的概念,所以我无法弄清楚其中存在什么真正的价值,因为您需要将时区传递给 NSDateFormatter 才能看到。

您将如何创建一种方法来确定 [NSTimeZone localTimeZone] 中的 [NSDate date] 是否介于另一个时区的两个 NSDate 之间?

0 投票
2 回答
4883 浏览

iphone - 为什么 NSCalendar 的 dateFromComponents 返回错误的日期?

我期待 2010-10-11 00:00:00

但相反,我收到 2010-10-10 21:00:00 +0000

我知道,我可以增加几个小时并收到所需的日期,但我不明白为什么我在前一天得到 21 小时......

请帮忙!

0 投票
3 回答
435 浏览

cocoa-touch - 从 1600 年到 NSDate 的日期?

我有一个存储为自 1600 年 1 月 1 日以来我需要处理的天数的日期。这是我需要在我的应用程序中多次阅读的遗留日期格式。

以前,我一直在创建日历、空日期组件和根日期,如下所示:

然后,为了稍后将整数转换为日期,我使用这个:

(我从不在其他任何地方更改任何偏移值。)

问题是我rootDate在 iOS 和 Mac OS X 上的时间不同。在 Mac OS X 上,我要到午夜了。在 iOS 上,我得到 8:12:28。(到目前为止,这似乎是一致的。)当我添加我的天数后,奇怪的时间仍然存在。

在我的产品之前的版本中,我并不关心时间;现在我知道了。为什么在 iOS 上出现奇怪的时间,我该怎么办?(我假设小时差是 DST。)

我尝试将 rootComponents 的小时、分钟和秒设置为 0。这没有影响。如果我将它们设置为 0 以外的值,它会将它们添加到 8:12:28。我一直想知道这是否与闰秒或其他累积时钟变化有关。

或者这完全是在 iOS 上使用的错误方法?

0 投票
5 回答
8063 浏览

iphone - NSDate - 一年前,困境

我正在尝试做一些对我来说有点困难的事情。但我相信有人有一些见识。

给定一个日期,比如说January 17, 2011,我试图找出与一年前的这个日期相对应的日期。星期一也是如此January 17, 2011,而一年前,这一天January 18, 2010(也是星期一)。原来January 18, 2010是354天前January 17, 2011。我最初想只是简单地减去非闰年的 365 天和闰年的 366 天,但如果你在这种情况下这样做,你会得到January 17, 2010,这是星期天,而不是星期一。

NSDate因此,在带有and的 Objective-C 中NSCalendar,我如何实现一个函数,例如:

换句话说,第n个月的第n个“工作日”(其中“工作日”是星期一或星期二或星期三等)

0 投票
2 回答
3138 浏览

iphone - 如何使用 NSCalendar 或 NSDate 生成 30 天作为数组?

我正在尝试创建一个考虑夏令时、闰年等的 30 天数组。我目前有一个生成天数数组的生成器,但它没有考虑特殊的时间变化和年份,月变化。这是我当前的代码:

创建一个生成器以循环遍历日历以检索从今天开始的接下来 30 天的最佳方法是什么,并且该数组应包括今天的日期和接下来的 29 天。我当前的代码就像我说的那样工作,但并不完全准确。谢谢