Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Build a Weather App with Swift (Retired) Data Modeling With Structures Customizing Dates

date_formatter.swift problem

Use the date formatter object to create a string representation of the dateOfBirth. First, set the time style to be a short time style and the date to be of a medium style. Use the modified date formatter to create a string from the dateOfBirth date and store it in a variable named stringDate. Hint: Check out the Managing Formats and Styles under the NSDateFormatter class reference.

dont know what im doing wrong here

this is what i have

import Foundation let secondsSinceBirth = NSTimeInterval(1200000000) var dateOfBirth = NSDate(timeIntervalSince1970: secondsSinceBirth) let dateFormatter = NSDateFormatter() dateFormatter.timeStyle = .mediumStyle

var stringDate = dateFormatter.stringFromDate(dateOfBirth)

7 Answers

Hi Ramiro,

You are close. Below is an example, however it is not the complete answer. You need to set the style before you submit it.

import Foundation
let secondsSinceBirth = NSTimeInterval(1200000000)
var dateOfBirth = NSDate(timeIntervalSince1970: secondsSinceBirth)

let dateFormatter = NSDateFormatter()
dateFormatter.timeStyle = //set the style
dateFormatter.dateStyle = //set the style
var stringDate = dateFormatter.stringFromDate(dateOfBirth)
Pasan Premaratne
STAFF
Pasan Premaratne
Treehouse Teacher

Ramiro Aguirre,

Couple things:

  • Your time style needs to be a short style and not medium.
  • You need to add a date style property and set it to short style
  • the 'm' in your style should be uppercase. ".MediumStyle" and not '.mediumStyle'

Thanks, this helped.

Juan Camilo
Juan Camilo
1,890 Points
import Foundation
let secondsSinceBirth = NSTimeInterval(1200000000)
var dateOfBirth = NSDate(timeIntervalSince1970: secondsSinceBirth)

let dateFormatter = NSDateFormatter()
dateFormatter.timeStyle = .ShortStyle
dateFormatter.dateStyle = .MediumStyle

var stringDate = dateFormatter.stringFromDate(dateOfBirth)
Charles Leclercq
Charles Leclercq
4,614 Points

Strange I had typed the same thing and it didn't work, but copy pasting the last line from here solve the issue... I double checked the syntax and it was exactly the same.

noup that doesnt work, sorry

Pasan Premaratne Help please !!

David Ladowitz
David Ladowitz
2,124 Points

Hi, not sure what is wrong with my answer. it works in the Xcode playground, but in the challenge.

The error I get is Bummer! Your code could not be compiled. Please click on "Preview" to view the compiler errors. but when I go to preview the screen is empty.

import Foundation
let secondsSinceBirth = NSTimeInterval(1200000000)
var dateOfBirth = NSDate(timeIntervalSince1970: secondsSinceBirth)

let dateFormatter = NSDateFormatter()
dateFormatter.timeStyle = .ShortStyle
dateFormatter.dateStyle = .MediumStyle
var stringDate = dateFormatter.stringFromDate(dateOfBirth)