4

I'm trying to format time as follows:

let formatter = NSDateFormatter()
formatter.dateFormat = "hh_mm_ss"
let d = formatter.stringFromDate(NSDate())
println("formatted text is: \(d)")

Suppose that current time is Sep 3, 2014 22:15:30

  1. When I run this script on playground, it prints the time correctly formatted: 22_15_30.
  2. When running this on AppDelegate, it doesn't print the time formatted: 22:15:30

I'm using xcode 6 beta 5... Am I missing something? Why stringFromDate doesn't return the correct date formatted?

EDIT: I'm using xcode 6 beta 6.

Thanks!

Aнгел
  • 1,361
  • 3
  • 17
  • 32

1 Answers1

7

The 24-hour format is "HH", not "hh".

The reason that it works in the Playground may be that user defined settings can override the 12/24-format choice, compare What is the best way to deal with the NSDateFormatter locale "feechur"?. To be on the safe side, set the "en_US_POSIX" locale for the date formatter:

formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")

// Swift 3:
formatter.locale = Locale(identifier: "en_US_POSIX")
Community
  • 1
  • 1
Martin R
  • 529,903
  • 94
  • 1,240
  • 1,382