There seems to be a deep misunderstanding here what NSDate
is and does.
An NSDate
object is a point in time in UTC
. It doesn't have a time zone. It doesn't have a format. It has nothing. You can't change its format, it doesn't even make any sense.
What you can do is to use an NSDateFormatter
to convert the NSDate
to a string. By default, NSDateFormatter
uses your local time zone, which means for most people that the result will be different from the result that NSLog
would show for an NSDate
. In the NSDateFormatter
, you can use whatever settings you want.
Usually you would respect how the user set up his date formatting and not change it for anything that is visible to the user. As a user, if I had set up my device to show days in 12 hour format, I'd be very annoyed if your application worked differently.