0

私の日付は「2010/7/30」です。月と日付のみとして印刷するにはどうすればよいですか。「7/30」 NSFormatter を使用してみましたが、データベースに存在する日付ではなく、現在の日付が出力されます。

4

2 に答える 2

0
NSDate *date = dateFromYourDataBase;
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"M/dd"];
NSLog(@"%@", [formatter stringFromDate:date]);
[formatter release];
于 2010-07-30T11:00:41.317 に答える
0

のユーティリティ メソッドをいくつか追加できますNSDate

ヘッダーの例を次に示します。

@interface NSDate (Utilities)

+ (NSDate *) customDateForString:(NSString *)dateString;
+ (NSDateFormatter *) customDateFormatter;

@end

実装:

@implementation NSDate (Utilities)

static NSDateFormatter *customDateFormatter = nil;

+ (NSDateFormatter *) customDateFormatter {
    // Example: 7/30
    if (!customDateFormatter) {
        customDateFormatter = [[NSDateFormatter alloc] init];
        [customDateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
        [customDateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];

        // cf. http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns
        [customDateFormatter setDateFormat:@"M/d"];
    }  
    return customDateFormatter;
}

+ (NSDate *) customDateForString:(NSString *)dateString {
    return [[self customDateFormatter] dateFromString:dateString];
}

@end

日付文字列を解析する必要があるときはいつでも、次のように呼び出します。

NSLog(@"Parsed date: %@", [NSDate customDateForString:@"7/30/2010"]); // Parsed date: 7/30
于 2010-07-30T10:50:27.347 に答える