我使用的代碼更改日期格式時收到錯誤:在格式化日期
NSDateFormatter *dateFormat=[NSDateFormatter new];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
dateFormat.locale=locale;
[dateFormat setDateFormat:@" dMMyyyy HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:Currentdate];
NSDate *today = [dateFormat dateFromString:[datef stringFromDate:[NSDate date]]];
NSLog(@"date %@ %@",date,Currentdate);
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger unitFlags = NSHourCalendarUnit|NSMinuteCalendarUnit
;
NSDateComponents *components = [gregorian components:unitFlags
fromDate:date
toDate:today options:0];
但我得到的錯誤:
*** -[__NSCFCalendar components:fromDate:]: date cannot be nil
I mean really, what do you think that operation is supposed to mean with a nil date?
An exception has been avoided for now.
A few of these errors are going to be reported with this complaint, then further. violations will simply silently do whatever random thing results from the nil.
Here is the backtrace where this occurred this time (some frames may be missing due to compiler optimizations):
(
0 CoreFoundation 0x30ffbad5 <redacted> + 92
1 CoreFoundation 0x30ffba63 <redacted> + 74
2 VoxSci 0x000d6997 -[MessagesViewController DayCounting] + 602
3 VoxSci 0x000d858d -[MessagesViewController tableView:cellForRowAtIndexPath:] + 4000
4 UIKit 0x33930315 <redacted> + 408
5 UIKit 0x338d86cd <redacted> + 1800
6 UIKit 0x338d7ef1 <redacted> + 184
7 UIKit 0x337fe353 <redacted> + 346
8 QuartzCore 0x33484943 <redacted> + 142
9 QuartzCore 0x33480167 <redacted> + 350
10 QuartzCore 0x3347fff9 <redacted> + 16
11 QuartzCore 0x3347fa0d <redacted> + 228
12 QuartzCore 0x3347f81f <redacted> + 314
13 QuartzCore 0x3347954d <redacted> + 56
14 CoreFoundation 0x31044f69 <redacted> + 20
15 CoreFoundation 0x310428f7 <redacted> + 286
16 CoreFoundation 0x31042c43 <redacted> + 738
17 CoreFoundation 0x30fad471 CFRunLoopRunSpecific + 524
18 CoreFoundation 0x30fad253 CFRunLoopRunInMode + 106
19 GraphicsServices 0x35ce72eb GSEventRunModal + 138
20 UIKit 0x33862845 UIApplicationMain + 1136
22 libdyld.dylib 0x3b8cfab7 <redacted> + 2
)
我已經搜索一下但得到了類似的東西。可以有人告訴我這個問題或我錯在哪裏。 任何幫助將不勝感激。提前致謝。
好吧,我明白了,你能告訴方式比較兩個日期格式「星期四,2014年1月2日19時40分18秒」並區分它們嗎? –
@PrachiRajput - 更新我的迴應 – ansible
非常感謝,它真的幫助過我 :) –