diff --git a/ObjectMapper/Transforms/DateTransform.swift b/ObjectMapper/Transforms/DateTransform.swift index 33cb3d55..a0c1edc6 100644 --- a/ObjectMapper/Transforms/DateTransform.swift +++ b/ObjectMapper/Transforms/DateTransform.swift @@ -38,6 +38,11 @@ public class DateTransform: TransformType { if let timeInt = value as? Double { return NSDate(timeIntervalSince1970: NSTimeInterval(timeInt)) } + + if let timeStr = value as? String { + return NSDate(timeIntervalSince1970: NSTimeInterval(atof(timeStr))) + } + return nil } diff --git a/ObjectMapperTests/CustomTransformTests.swift b/ObjectMapperTests/CustomTransformTests.swift index 6dcefe63..6e3c3433 100644 --- a/ObjectMapperTests/CustomTransformTests.swift +++ b/ObjectMapperTests/CustomTransformTests.swift @@ -54,6 +54,14 @@ class CustomTransformTests: XCTestCase { XCTAssertNotNil(parsedTransforms) XCTAssertEqual(parsedTransforms?.date, transforms.date) XCTAssertEqual(parsedTransforms?.dateOpt, transforms.dateOpt) + + let JSONDateString: [String: AnyObject] = ["date": "946684800", "dateOpt": "946684912"] + let parsedTransformsDateString = mapper.map(JSONDateString) + + XCTAssertNotNil(parsedTransformsDateString) + XCTAssertEqual(parsedTransforms?.date, parsedTransformsDateString?.date) + XCTAssertEqual(parsedTransforms?.dateOpt, parsedTransformsDateString?.dateOpt) + } func testISO8601DateTransform() {