我想从字符串“2016-01-04 22:00:00 +0000”以“Saturday | 4.08.2016”格式显示日期。我怎样才能做到这一点?是否有适用于iOS的内置方法?
答案 0 :(得分:3)
这适用于我作为日期格式化程序:
NSString *dateString = @"2016-01-04 22:00:00 +0000";
NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzzz"];
NSDate *date = [NSDate new];
date = [dateFormatter dateFromString:dateString];
[dateFormatter setDateFormat:@"EEE | M.dd.yyyy"];
NSString *outputDateString = [dateFormatter stringFromDate:date];
NSLog(@"Output: %@", outputDateString);
它返回:
Output: Mon | 1.04.2016
使用" EEEE"返回全天的名字。
答案 1 :(得分:0)
您应该使用NSDateFormatter。 您可以使用NSDate来存储值。
你可以来回转换它们。在NSDate类别中这样做是一个好习惯。
在.m文件中:
@implementation NSDate (Converter)
// Date format used:
// 2015-09-24T00:00:00+01:00
+ (NSDate *)formatDateFromString:(NSString *)string {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ssZZZ"];
NSDate *date = [dateFormatter dateFromString:string];
return date;
}
// Returns a short formatted string represenation of a date
+ (NSString *)formatStringFromDate:(NSDate *)date {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init] ;
[formatter setDateFormat:@"yyyy-MM-dd HH:MM"];
NSString* formattedString = [formatter stringFromDate:date];
return formattedString;
}
@end
在.h文件中:
@interface NSDate (Converter)
+ (NSString *)formatStringFromDate:(NSDate *)date;
+ (NSDate *)formatDateFromString:(NSString *)string;
@end
这是一个很好的示例,您可以使用以下格式进行操作:https://stackoverflow.com/a/6812519/1374488