Tag: nsdate

iOS NSDateFormatter时区

我有一些代码需要一个string,把它变成一个date,重新格式化,然后吐出作为另一个string: [formatter setDateFormat:@"YYYY'-'MM'-'DD','HH:mm:ss','ZZZ"]; [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"America/New_York"]]; NSDate *date = [formatter dateFromString:combinedString]; [formatter setDateStyle:NSDateFormatterLongStyle]; NSString *finishedString = [formatter stringFromDate:date]; 基本上,除了时区以外,它工作正常。 所有的inputstring都在时区-0400,我希望重新格式化的string也在该时区,但重新格式化的string不断向前转换4小时,即使我添加了setTimeZone:行。 基本上,我不想改变时间,我只是想重新格式化,我不明白我做错了什么?

在NSArray内的NSDictionary中排列NSDates?

目前在我的应用程序,我有一个NSArray,我从NSUserDefaults加载。 NSArray中的每个对象都是一个NSDictionary,它有大约5个不同的键。 我根据他们内部的NSDates重新订购NSDictionarys 。 我不想单独排列NSDates。 我试图用这个代码做到这一点: NSComparator sortByDate = ^(id dict1, id dict2) { NSDate* n1 = [dict1 objectForKey:@"Date"]; NSDate* n2 = [dict2 objectForKey:@"Date"]; return (NSComparisonResult)[n1 compare:n2]; }; [self.cellArray sortUsingComparator:sortByDate]; 即使代码被执行,也没有任何反应。 我很困惑,但如何重新订购NSDictionarys基于内部的东西。 任何人都可以提供任何见解吗? 谢谢!

检查自定义对象数组是否包含具有特定date的对象

我有一个event objects的数组。 该对象有几个属性。 其中一个属性是NSDate eve_date 。 现在我想检查该对象数组是否包含某个NSDate d 我正在做以下 if([[matches valueForKey:@"eve_date"] containsObject:d]){ NSLog(@"contains object"); }else{ NSLog(@"does not contains object"); } 但是这不起作用。 谁能帮我 ? 亲切的问候 编辑 好吧,让我更清楚。 我正在制作一个日历应用程序。 我提取了特定月份内的所有事件。 我现在需要做的是在正确的date在我的日历上放置一个标记。 所以我有这个function。 NSLog(@"Delegate Range: %@ %@ %d",start,end,[start daysBetweenDate:end]); self.dataArray = [NSMutableArray array]; self.dataDictionary = [NSMutableDictionary dictionary]; NSDate *d = start; while(YES){ for (Event *event in matches) { […]

如何将时间string转换成NSDate?

如何将时间string(24小时格式)转换为NSDate进行比较? 我得到无和错NSDate在这里: let a = "5:46" let b = "24:30" let dateFormatter = NSDateFormatter() dateFormatter.timeStyle = .ShortStyle dateFormatter.dateFormat = "k:mm" // k = Hour in 1~24, mm = Minute let outputA = dateFormatter.dateFromString(a) let outputB = dateFormatter.dateFromString(b) println("A: \(outputA) B: \(outputB)") 然后我得到 A: Optional(1999-12-31 20:46:00 +0000) B: nil 当我想要得到 A: 5:46 AM B: 00:30 AM […]

NSDate不能正确转换使用NSDateFormatter

我有以下NSDateFormatter: NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"MMM. d, yyyy"]; NSLocale *usLocal = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; [dateFormatter setLocale:usLocal]; 我有一个while循环,从给定的开始date开始,将date递增1,直到到达特定的结束date。 NSDate *d = start; while(YES){ NSString *td = [dateFormatter stringFromDate:d]; NSLog(@"converted date %@ to %@",d,td); …adds a date and re-initializes d } 我得到的输出如下: 2011-06-11 17:10:18.678 ListOf100[8784:707] converted date 2011-05-31 00:00:00 +0000 to May. 30, 2011 […]

NSDateFormatter麻烦?

我试图parsing一个RSS提要,但date很难parsing。 datestring是: publishedDate = "2013-01-08T20:09:02.000Z" 这是我的代码: NSDateFormatter *utc = [[NSDateFormatter alloc] init]; [utc setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; [utc setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"]; NSDate *dtUTC = [utc dateFromString: publishedDate]; NSDateFormatter *dfLocal = [[NSDateFormatter alloc] init]; [dfLocal setDateFormat:@"yyyy-MM-dd"]; [dfLocal setTimeZone:[NSTimeZone localTimeZone]]; NSString *time =[dfLocal stringFromDate:dtUTC]; NSLog(@"original UTC %@ now local: %@", dtUTC, time); 为什么date返回零? 此外,我试图将UTC时间转换为CST时间。

我怎样才能找出一个NSDate是否是一个工作日?

我怎样才能找出一个NSDate是否是一个工作日? 也就是说,根据用户当前的语言环境和日历设置是否是周末 – 所以不能硬编码为星期一至星期五? NSCalendar具有第一个firstWeekday属性,但这似乎只是一个表象的东西; 星期天在美国,周一在英国。 编辑:我不担心假期,我只是想能够像内置的日历应用程序相同的方式阴影的日历周末。

如何获得当前的EST时间IOS Swift

我需要比较我的应用程序中的两个date,我有一个ESTdate与当前date进行比较,但let today = NSDate()返回UTC的date,我如何获得当前的EST时间或转换为EST?

如何使用NSDate在一个月内构build一个NSPredicate整天过滤?

有没有办法让一个月的所有日子一般? 像这样的东西: [NSPredicate predicatewithFormat@"(date.firstDayOfMonth >= @)AND(date.lastDayOfMonth <= @)"];

如何分辨从现在开始直到NSDate的天数?

我如何知道从现在开始直到在我的应用中指定的date? 这是我到目前为止,但是每次都会出现“-30”,无论date是什么时候: NSDate * selected = [DatePicker date]; NSString * date = [selected description]; NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit fromDate:DatePicker.date]; CalLabel1.text = [NSString stringWithFormat:@"%d", [components day]]; NSDateFormatter *temp = [[NSDateFormatter alloc] init]; [temp setDateFormat:@"dd/MM/yyyy"]; NSDate *stDt = [temp dateFromString:[temp stringFromDate:[NSDate date]]]; NSDate *endDt = [temp dateFromString:[temp stringFromDate:[NSString stringWithFormat:@"%d", [components date]]]]; unsigned int unitFlags = […]