繁体   English   中英

Objective-C:如何从NSDate获取日期和日期?

[英]Objective-C: how to get day and date from NSDate?

考虑在我的iPhone应用程序中将字符串转换为日期的示例

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获得Tue25

您应该为此使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM