问题标签 [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.
iphone - 如何以编程方式构建本地化日历月份名称的 NSArray?
我正在对我的 iPhone 应用程序进行本地化/国际化,并且有一个问题。在我的应用程序的一个地方,我显示了一年中 12 个月的列表。由于它目前处于非本地化状态,我只是将 1 月至 12 月的月份硬编码到 NSArray 中。我想使用 NSCalendar 根据用户的语言环境以编程方式构建这个几个月的 NSArray。做这个的最好方式是什么?
objective-c - 将具有给定时间的 NSDate 对象转换为具有相同时间和当前日期的对象的最有效方法
我目前正在创建一个处理学校日程安排的日程安排应用程序。每个计划都有一个包含开始时间和结束时间的期间对象数组。目前我将这些时间存储为 NSDate 对象,其中只有时间是真正相关的,并且每个 NSDate 对象都有一些与之关联的任意日期,这对我的应用程序来说基本上是微不足道的(它是 UIDatePicker 分配给它的任何日期,但我只使用 TimePickerMode )。我用这些日期做了很多事情。首先,我使用 NSDateFormatter 在 UITableView 中输出每个时间段的时间字符串表示形式。然后,我还尝试通过将 [NSDate 日期] 获取的当前时间与开始和结束时间进行比较来找到当天的当前时段。但我无法决定最好的方法来做到这一点。
目前,我使用 NSDateFormatter 将开始时间和结束时间转换为字符串,然后返回到现在日期与今天日期相同的日期。然后,我可以使用 - (NSComparisonResult)compare: 将开始日期和结束日期与当前日期进行比较来进行日期比较。但是,我可以认为这是非常低效的。
其他可能的方法是将每个 NSDate 转换为 NSDateComponents,然后使用 NSCalendar 将其转换回具有当前日期和相同原始时间的 NSDate。
或者,我可以采取不同的方法,完全放弃 NSDate 存储技术。相反,我可以将每个开始和结束时间存储为 NSDateComponents,然后为 UITableView 输出时间的格式化版本就足够简单了,然后我可以将 [NSDate date] 获得的日期转换为 NSDateComponents 用于逻辑比较以获得当前期间。
我看到了三到四种不同的方式来解决这个问题,实际上在讨论完之后我非常有信心我讨论的最后一种方式将是最有效的,因为它需要在不同类型的日期对象之间进行最少的运行时转换。我只是在寻找其他人的意见。
iphone - 如何检查用户选择的 NSDate 是否发生在几年前?
在我的应用程序中,我需要检查用户是否年满 18 岁。我为他提供了 UIDatePickerView,他选择了他的生日日期。我将它存储在 NSDate 字段中。如何查看他的生日是否已经过去了 18 年?
objective-c - 何时使用 [NSCalendar autoupdatingCurrentCalendar] 的示例
我正在寻找一个+ autoupdatingCurrentCalendar
可以用来代替+ currentCalendar
. 更具体地说,当日历更改时,基于日历的值会自动更改。我需要为此或类似的东西绑定吗?
文档状态:
请注意,如果您根据日历或相关信息缓存值,这些缓存当然不会通过日历对象的更新而自动更新。
提前致谢
iphone - iPhone NSCalendar - 为美国以外的用户绘制的日历不正确
在尝试处理其他人的代码以及许多不同的迭代之后,我无法理解我在日历月视图上的日期做错了什么。我正在尝试以像 calendar.app 这样的月视图方式显示日历,但不幸的是,澳大利亚、英国等国家/地区的一些用户报告称日期与日期的对齐方式不正确。例如在澳大利亚,它将 3 月 17 日显示为星期五。非常感谢任何帮助!
这是我正在使用的代码示例:
这就是我填充日历的方式:
最后查看didload:
objective-c - 如何设置现有 NSDate 的时间?
如何设置现有NSDate
的时间?
那就是我有一个日期(比如当前日期/时间),但是想把它设置为一个特定的时间(例如上午 11.23 点)说。在目标 C 中执行此操作的最快方法是什么?
我正在查看NSCalendar
和查看诸如dateByAddingComponents:toDate:options:
, 和之类的方法dateFromComponents:
,但这些方法似乎并没有完全满足我在这里需要的目标。例如:
dateFromComponents:
- 我必须计算出所有组件才能正常工作,这似乎有点矫枉过正dateByAddingComponents:toDate:options:
- 我不想在我的情况下添加,而是“设置”时间。
ios - 我需要在此代码示例中释放 NSCalendar 对象吗?
我需要在此代码示例中释放 NSCalendar 对象吗?或者这是否会影响最后一行代码返回从“gregorian”变量派生的newDate这一事实?
iphone - NSCalendar 组件没有考虑时间
我们知道 NSDate 是 UTC/GMT。换句话说,没有时区信息与之相关联。
有一些高级类,例如 NSCalendar 和 NSTimeZone 和 NSDateComponents,它们确实考虑了时区。
基于此,我使用以下代码来计算两个日期之间的天数差异。然而,我得到的结果似乎是计算完成时完全忽略了时间。我想知道我是否做错了什么,或者这是出于某种原因设计的。
这是代码和数据:
调试输出:
时区是太平洋标准时间,上面转换为 PST 的日期是:
因此,我希望他们之间有 4 天,而不是 2 天。(第 31 天、第 1 天、第 2 天和第 3 天)
我认为小时数被忽略的原因是,如果将小时数添加到计算中,我们会得到 2 天 12 小时。
我做错了什么还是这是设计的工作方式?
谢谢你,万斯
iphone - 两次之间的Objective-C中点
我有两个 NSDates 格式为“h:mm a”作为时间(即上午 6:00 和下午 8:00)。
我试图找出这两次之间的中点是什么时间。
对于上面的示例,上午 6:00 和晚上 8:00 之间的中点为下午 1:00。
但我不知道如何在 iPhone sdk 的 Objective-C 中做到这一点。
任何帮助或建议或代码将不胜感激。
objective-c - NSCalendar dateWithComponents 给出错误的日期
我必须用 dateComponents 详细说明一个日期:
calendar 具有正确的 TimeZone,Date 的所有组件都是正确的。好吧,无论我做什么,itemDate 对象都有格林威治时区(+0000)。我应该如何解决这个问题?