42

How can I obtain the current time in HH:MM:SS am/pm format?

NSExplorer
  • 11,849
  • 12
  • 49
  • 62

3 Answers3

90
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm:ss a"];
NSLog(@"Current Date: %@", [formatter stringFromDate:[NSDate date]]);
[formatter release];

The format of the string in setDateFormat is based on ISO-8601, http://en.wikipedia.org/wiki/ISO_8601#Dates

Swift 3 Version:

let formatter = DateFormatter()
formatter.dateFormat = "hh:mm:ss a"
print("Current date: \(formatter.string(from: Date()))") // -> Current date: 08:48:48 PM

There's also a new site since this original answer that helps writing these format strings. Aptly named... http://nsdateformatter.com

Chris Wagner
  • 20,773
  • 8
  • 74
  • 95
2

See the NSDateFormatter class and the Data Formatting Guide. Don’t ever do these kind of things by hand, you won’t get the details right.

zoul
  • 102,279
  • 44
  • 260
  • 354