Tag: nsdate

检查时间和date是否在特定date和时间之间

我有3个variables; 开学date – Wed Apr 12 – Wed Jun 11 11.00 am from 11.00 pm上课时间 – 11.00 am from 11.00 pm 。 (这是一个string,11AM是开始时间,12PM是结束时间) 1.)现在,我需要获取当前date和时间( [NSDate date] ),并检查当前date是否介于startDate和endDate之间,然后检查当前时间是否在timeDuration之间(如11.00am from 11.00pm ) 2.)如果当前时间在持续时间之间(在11.00 am from 11.00 pm ),我需要计算下列情况的剩余时间; a)如果时间是上午10点,我需要计算开始时间的11.00am时间。 (答案是1 hour )。 b)如果时间是11.00am时11.45AM ,由于时间大于开始时间( 11.00am ),我需要计算剩余时间到结束时间(即11.00pm )。 c)如果时间是11.45pm时11.45pm ,由于时间大于结束时间(即11.00pm ),我需要打印一个NSLog,说'超时'。

以编程方式获得“下周五下午5点”的date

编辑07/08/13:苹果有一套非常棒的WWDCvideo,这些video确实帮助我理解Objective-C中的各种date和时间类,以及如何正确执行时间计算/操作。 “共同的date和时间挑战的解决scheme”( 高清video , 标清video , 幻灯片(PDF) )(WWDC 2013) “执行日历计算”( SDvideo , 幻灯片(PDF) )(WWDC 2011) 注意:链接需要免费的Apple Developer会员。 我正在为一个朋友的播客写一个应用程序。 她每个星期天下午5点播放她的节目,我想在我的应用程序中编写一些代码,以便有select地安排当地的通知,以便提醒用户下次现场演出的时间。 我将如何去获得一个代表“下个星期日太平洋时间下午5点”的NSDate对象。 (显然这必须转换成用户使用的任何时区)

如何sortingdate对象的NSMutableArray

我正在做一些小的工作,在NSMutableArray中sortingdatestring,我从sqlite数据库获取数组。 如果你打印的数组是这样显示的 datestring为(“2011-05-01”,“2011-02-01”,“2012-01-08”,“2012-05-08”,“2010-01-09) 我想按升序显示date。 请帮助我的家伙…..我是新手objc ..

将UTCdate格式转换为本地nsdate

我从我的服务器获取UTC时区的stringdate,我需要将其转换为本地时区。 我的代码: let utcTime = "2015-04-01T11:42:00.269Z" let dateFormatter = NSDateFormatter() dateFormatter.timeZone = NSTimeZone(name: "UTC") dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" let date = dateFormatter.dateFromString(utcTime) println("utc: \(utcTime), date: \(date)") 这打印 – utc:2015-04-01T11:42:00.269Z,date:可选(2015-04-01 11:42:00 +0000) 如果我删除 dateFormatter.timeZone = NSTimeZone(name: "UTC") 它打印 utc:2015-04-01T11:42:00.269Z,date:可选(2015-04-01 08:42:00 +0000) 我的本地时区是UTC +3,在第一个选项我得到UTC在第二个选项我得到UTC -3 我应该得到 utc:2015-04-01T11:42:00.269Z,date:可选(2015-04-01 14:42:00 +0000) 那么如何将UTCdate格式转换为当地时间呢?

我怎样才能得到下一个date使用NSDate?

可能重复: iOS和发现明天 我怎样才能得到下一个date使用NSDate。 请给我解决scheme。

NSDate没有返回正确的date

我打印这样的NSDate: NSDate *date = [NSDate date]; NSString *stringDate = [data description]; 现在是2011年7月1日11:43。 我的iPod甚至在顶栏上说。 但stringDate打印出来:2011-07-02 03:43:46 +0000 这显然是错误的。 我已经使用了NSDate数百万次,但从来没有这个问题。 什么可能是错的? 谢谢

硬件依赖的NSDateFormatter dateFromString:bug(返回nil)

我有几个datestring,我需要转换为NSDates。 我的parsing代码如下: NSString *s = [pair objectForKey:@"nodeContent"]; NSDateFormatter *f = [[NSDateFormatter alloc] init]; [f setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZ"]; self.date = [f dateFromString:s]; 上面的代码在我们testing过的所有设备和模拟器中工作正常。 奇怪的是,当上面的代码运行在任何运行iOS 6.1或7.0.x的iPhone 5上时, self.date = [f dateFromString:s]; 每次都返回零。 我已经检查过,并且strings存在,并且与正确parsingdate的设备并排比较时包含相同的字符。 这是一个datestring示例:`2013-10-31T21:50:00-06:00' 我在这里错过了什么?

NSDate:获取与设备时钟无关的精确时间?

可能重复: 如何在应用程序运行之间在本地检测iPhone用户的时钟提升? 有没有办法确定在iOS的实际时间和date(而不是设备的时间) iOS中是否有可供用户更改的时钟? 简要 我正在使用一个自动更新的订阅应用程序。 当应用程序收到来自Apple的最新收据时,它将expires_date_ms项存储在NSUserDefaults 。 在此date之后的30天,该应用程序与苹果检查,看看订阅是否仍然活跃。 该应用程序可以被视为一个离线应用程序,但它必须连接到互联网每30天一次,以检查订阅状态。 这次比较将被用来告诉用户他/她必须连接。 问题 我正在使用下面的代码来比较当前时间和expires_date_ms : NSTimeInterval expDateMS = [[productInfo objectForKey:@"expires_date_ms"] doubleValue]; NSTimeInterval currentDateMS = ([[NSDate date] timeIntervalSince1970] * 1000); if (currentDateMS > expDateMS) subExpired = YES; 这很好,而且运行良好,但是从我所知道的漏洞可以被利用 – 如果用户将设备的时钟设置为一小时/一个月/十年,时间比较将变得不可靠,因为[NSDate date]使用设备目前的时间(请纠正我,如果我错了)。 题 是否有任何方法检索设备无关的时间以毫秒为单位? 一个可以准确和可靠地测量而不考虑器件时钟?

NSDateFormatter.dateFromString返回特定语言的特定date为零

我真的不知道这个代码发生了什么,我试图将string转换为date。 我不明白的是,转换适用于大多数date,但不能专门为两个date。 let dateFormatter = NSDateFormatter() dateFormatter.locale = NSLocale(localeIdentifier: "es") dateFormatter.dateFormat = "dd 'de' MMMM" dateFormatter.dateFromString("1 de octubre") dateFormatter.dateFromString("2 de octubre") dateFormatter.dateFromString("3 de octubre") dateFormatter.dateFromString("4 de octubre") dateFormatter.dateFromString("5 de octubre") dateFormatter.dateFromString("6 de octubre") dateFormatter.dateFromString("7 de octubre") dateFormatter.dateFromString("8 de octubre") dateFormatter.dateFromString("9 de octubre") dateFormatter.dateFromString("10 de octubre") dateFormatter.dateFromString("11 de octubre") dateFormatter.dateFromString("12 de octubre") dateFormatter.dateFromString("13 de octubre") dateFormatter.dateFromString("14 […]

iOS:比较两个没有时间部分的NSDate

我想比较两个date:date1和date2 2011-06-06 12:59:48.994 Project[419:707] firstDate:2011-06-06 10:59:21 +0000 2011-06-06 12:59:49.004 Project[419:707] selectedData:2011-06-06 10:59:17 +0000 但这些date有不同的时间,当我使用NSOrderedSame它不能正常工作,我怎么解决? 我的代码: NSDate *firstDate = [[appDelegate.project objectAtIndex:i]objectAtIndex:3]; NSDate *secondDate = [[appDelegate.project objectAtIndex:i]objectAtIndex:4]; NSCalendar *calendar = [NSCalendar currentCalendar]; NSInteger comps = (NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit); NSDateComponents *date1Components = [calendar components:comps fromDate:firstDate]; NSDateComponents *date2Components = [calendar components:comps fromDate:secondDate]; NSDateComponents *date3Components = [calendar components:comps […]