如何在申请徽章中显示正确的日期。我有这个,但它没有显示正确的日期。
application.applicationIconBadgeNumber = NSDayCalendarUnit;
因此,在您改进了您的问题之后,您似乎希望将当月当天的数字显示为应用程序图标徽章。为此,您必须使用NSCalendar
和NSDateComponents
:
NSDate *today = [NSDate date];
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *comp = [cal components:NSDayCalendarUnit fromDate:today];
NSInteger day = [comp day];
[UIApplication sharedApplication].applicationIconBadgeNumber = day;
是不可能的:这只是一个(如果我没记错的话是肯定的)数字。没有字母、符号、空格……只有一个值。
NSString *formatString = [NSDateFormatter dateFormatFromTemplate:@"MMM d, yyyy h:mm" options:0 locale:[NSLocale currentLocale]];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:formatString];
NSString *todayString = [dateFormatter stringFromDate:[NSDate date]];
dateLabel.text = todayString;
输出:2012 年 2 月 11 日下午 5:32:21
首先,您不能在应用程序徽章图标中显示整个日期。
但是,如果您只想显示日期,请查看以下代码。
NSDateComponents *comp = [[NSCalendar currentCalendar] components:NSWeekdayCalendarUnit fromDate:[NSDate date]];
[UIApplication sharedApplication].applicationIconBadgeNumber = [comp weekday];
干杯。