iOS:日期格式 - 星期六| 2016年4月8日

时间:2016-01-04 15:31:02

标签: ios iphone date nsdateformatter

我想从字符串“2016-01-04 22:00:00 +0000”以“Saturday | 4.08.2016”格式显示日期。我怎样才能做到这一点?是否有适用于iOS的内置方法?

2 个答案:

答案 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