问题标签 [nsdatecomponents]
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 - 从 [NSDateComponents components: fromDate: toDate: options:] 释放 NSdate 时出错
好的,所以我得到了这个名为 event 的类。
它有一个名为 eventDate 的属性,它是一个 NSDate。我做了一个方法来返回自事件日期以来的年数:
在配置我的表格视图单元格时,我会:
但这会引发此错误:
*** __NSAutoreleaseFreedObject(): 先前释放的对象 (0x595bda0) 的释放被忽略
我在这里做错了什么?
如果我不发布 date1 和 date2 我不会收到错误,但该方法返回 0..
如果我改为在单元格配置方法中执行 yearsSinceEvent 代码,并且不发布日期 1 和日期 2 它可以工作..
我该怎么做?
iphone - NSDateComponents 组件:fromDate 和 Time Zones
我有一个方法,它通过将小时和秒组件分解为 NSDateComponents 来提取 NSDate。我的代码如下...
我的问题是我在转换中损失了一个小时。我怀疑这是由于时区造成的,但据我所知,传入的日期和使用的日历都是格林威治标准时间。
例如,如果我传入以下 NSDate 对象(这是 [NSDate 描述] 的日志)...
我希望我得到 8 小时和 0 分钟,但我实际上得到了 7 小时。
我的系统时间是格林威治标准时间,因此上面的 NSDate 目前是英国夏令时的 +0100。
iphone - NSDate/NSCalendar 问题
我的应用程序中有以下代码。它是一个 iPad 应用程序,在一个名为 monTable、tueTable 等的单个视图中有五个表格。这些表格代表星期一到星期五。
在这段代码中,我获取日期并将每个表格标题设置为星期一到星期五(本周)的日期。然后,如果我按下按钮 nextWeek 变为 TRUE 并重新加载表数据。这意味着周数增加。看?
我的问题是,由于某种有线原因,它只会在星期一增加 7 天到下周,而当按下按钮时,其他日子都没有改变任何想法?谢谢。
iphone - NSDateComponents setWeek - 本周查找
是否可以使用 NSDateComponents 和 setWeek: 找到一年中的当前周?由于 setWeek 在一年中的每个星期都使用 1 - 52 的数字形式,我怎样才能找到代表本周的数字?
objective-c - 2 NSDateComponents - 是同一周吗?
我有一个带有 BOOL 返回值和 2 个输入(NSDateComponents *)参数的函数。我的麻烦是我有两个 NSDateComponents 值,我想知道这两个日期是否在同一个日历周内。我尝试了最简单的解决方案来解决问题,我的想法如下:
- (BOOL)isFunctionName:(NSDateComponents *)comp1 andParam:(NSDateComponents *)comp2 {
return (([comp1 week] == [comp2 week]) && ([comp1 year] == [comp2 year]));
}
但这是不正确的。我有什么办法解决它?
已编辑
所以我有一个从日期生成日期组件的函数。
-(NSDateComponents *)dateToDateComponents:(NSDate *)date {
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [gregorian components:unitFlags fromDate:date];
[gregorian release];
return dateComponents;
}
我这样称呼它:
if ([self isFunctionName: [self dateToDateComponents:startDate] and Param:[self dateToDateComponents:currentTripDate]]){
}
在我的测试期间,它返回 YES 我的所有日期(例如 2010.07.21 - 2010.08.18)
objective-c - NSDate 获取年/月/日
NSDate
在没有其他信息的情况下,如何获取对象的年/月/日?我意识到我可以用类似的东西来做到这一点:
NSDate
但这对于像获取的年/月/日这样简单的事情来说似乎很麻烦。还有其他解决方案吗?
iphone - NSDateComponents 给出奇怪的结果
我正在创建一个每周日历视图,其中一部分是计算显示周的第一天。我还希望保存的日期具有第一秒的时间,所以我试图确保日期的 hh:mm:ss 都是 00:00:00。
我有以下代码,在大多数情况下都可以正常工作,但是当日期在一年的开始或结束时会给出看似随机的结果。
不知何故,将 hh:mm:ss 设置为 00:00:00 会将日期从 2010 年 1 月 3 日更改为 2009 年 1 月 11 日。
我已将 dateFromComponents 的结果添加为这些行的注释。这种奇怪的行为似乎只在一年左右发生,并且在我见过的任何其他星期都不会发生。
谢谢你的帮助!
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 之间?
iphone - 为什么 NSCalendar 的 dateFromComponents 返回错误的日期?
我期待 2010-10-11 00:00:00
但相反,我收到 2010-10-10 21:00:00 +0000
我知道,我可以增加几个小时并收到所需的日期,但我不明白为什么我在前一天得到 21 小时......
请帮忙!
iphone - iOS 3.1 上的 NSDateComponents setTimeZone NSInvalidArgumentException
[NSDateComponents setTimeZone:] 函数在 iOS 3.1 中崩溃,给出 NSInvalidArgumentException。但它在更高的 iOS 版本上运行良好。有没有人对此有解决方案?提前致谢。