Search code examples
objective-ccswiftstrftimelocaltime

Swift: NSDate formatting with strftime & localtime


How do I convert the following Objective-C code into Swift code?

#define MAX_SIZE 11
char buffer[MAX_SIZE];
time_t time = [[NSDate date] timeIntervalSince1970];
strftime(buffer, MAX_SIZE, "%-l:%M\u2008%p", localtime(&time));
NSString *dateString = [NSString stringWithUTF8String:buffer];
NSLog(@"dateString: %@", dateString); // dateString: 11:56 PM

I'm formatting a date.


Solution

  •     let maxSize: UInt = 11
        var buffer: CChar[] = CChar[](count: Int(maxSize), repeatedValue: 0)
        var time: time_t = Int(NSDate().timeIntervalSince1970)
        var length = strftime(&buffer, maxSize, "%-l:%M\u2008%p", localtime(&time))
        var dateString = NSString(bytes: buffer, length: Int(length), encoding: NSUTF8StringEncoding)
        NSLog("dateString: %@", dateString) // dateString: 11:56 PM