[英]Objective-C: how to get day and date from NSDate?
NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000";
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"];
NSDate *date = [dateFormat dateFromString:dateStr];
[dateFormat release];
我检查了NSDate
有什么方法,发现
题
我如何从*date
获得Tue
和25
?
您应该为此使用NSDateComponents
:
NSCalendar * calendar = [NSCalendar currentCalendar];
NSDateComponents * dateComponents = [calendar components: NSDayCalendarUnit | NSWeekdayCalendarUnit fromDate: <yourDate>];
NSLog(@"Day in week: %ld", (long)dateComponents.weekday); // Day in week: 3
NSLog(@"Day in month: %ld", (long)dateComponents.day); // Day in month: 25
NSLog(@"Day name: %@", calendar.shortWeekdaySymbols[dateComponents.weekday - 1]); // Day name: Tue (iOS 8.0 +)
还是在Swift中
let calendar = NSCalendar.currentCalendar()
let dateComponents = calendar.components(.DayCalendarUnit | .WeekdayCalendarUnit, fromDate: <yourDate>)
println("Day in week: \(dateComponents.weekday)") // Day in week: 3
println("Day in month: \(dateComponents.day)") // Day in month: 25
println("Day name: \(calendar.shortWeekdaySymbols[dateComponents.weekday - 1])") // Day name: Tue
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.