Search code examples
objective-cnsdatensdateformatter

Escape NSDateFormatter String


How to escape characters from NSDateFormatter format?

NSDate *currentDate = [NSDate date];
NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
[dateFormater setDateFormat:@"dd/MM/yyyy \\a\\t HH:mm"];
NSString *dateFormated = [dateFormater stringFromDate:currentDate];

NSLog(@"%@", dateFormated);

Solution

  • You can escape text by enclosing it in single quotes:

    [dateFormater setDateFormat:@"dd/MM/yyyy 'at' HH:mm"];
    

    From the docs:

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"yyyy-MM-dd 'at' HH:mm"];   
    NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:162000];   
    NSString *formattedDateString = [dateFormatter stringFromDate:date];   
    NSLog(@"formattedDateString: %@", formattedDateString); 
    // For US English, the output may be: 
    // formattedDateString: 2001-01-02 at 13:00