Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to add custom text in NSDateFormatter's format string?

Suppose I want the date to look like this:

|1988|December|30| 

How can add these to the dateFormatter or for that matter let the format be something like this:

30 in the month of December in the year of 1998 

now for 1988,December and 30, I would like to use standard formats but I want the text I put to also accompany them.

specially in case of the above one where, in the format and pipes just come adjacent to the date format for date or month where there is no space between the format and the pipe.

Is any of this possible by just setting the format ?

like image 848
Amogh Talpallikar Avatar asked Jul 09 '13 07:07

Amogh Talpallikar


People also ask

Is NSDateFormatter thread safe?

Thread SafetyOn iOS 7 and later NSDateFormatter is thread safe. In macOS 10.9 and later NSDateFormatter is thread safe so long as you are using the modern behavior in a 64-bit app.

What is DateFormatter?

A formatter that converts between dates and their textual representations.

What is en_US_POSIX?

en_US_POSIX was invented to refer to the C (or 'null') locale code used in POSIX libraries.

How do I change the date format in Swift?

let date = Date(); let dateFormatter = DateFormatter(); Date will give us the current date and time with respect to our current time zone. For me, it's Wednesday, June 1st, 2022. dateFormatter is an instance of the DateFormatter class that allows us to operate various formatting functions on our date .


2 Answers

You can insert arbitrary text (enclosed in single quotes) in the date format, for example.

NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; [fmt setDateFormat:@"dd' in the month of 'MMMM' in the year of 'yyyy"]; NSString *s = [fmt stringFromDate:[NSDate date]]; 

Result:

 09 in the month of July in the year of 2013 
like image 170
Martin R Avatar answered Oct 14 '22 23:10

Martin R


Swift Version:

let dateFormatter = DateFormatter() dateFormatter.dateFormat =  "EEEE' text here 'h:mm' and there 'a" 
like image 23
Joseph Francis Avatar answered Oct 15 '22 00:10

Joseph Francis