Search code examples
objective-cswiftnsstringnsdate

Convert NSDate to NSString


How do I convert, NSDate to NSString so that only the year in @"yyyy" format is output to the string?


Solution

  • How about...

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy"];
    
    //Optionally for time zone conversions
    [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"..."]];
    
    NSString *stringFromDate = [formatter stringFromDate:myNSDateInstance];
    
    //unless ARC is active
    [formatter release];
    

    Swift 4.2 :

    func stringFromDate(_ date: Date) -> String {
        let formatter = DateFormatter()
        formatter.dateFormat = "dd MMM yyyy HH:mm" //yyyy
        return formatter.string(from: date)
    }