json 출력과 일치하는 Date 객체를 생성하는 데 문제가 있습니다. http://chartapi.finance.yahoo.com/instrument/1.0/aapl/chartdata;type=quote;range=1y/json에서 날짜는 "Date"형식으로되어 있습니다 : 20151013. 2015-10-13을 얻으려면 먼저 API 호출 및 JSON 구문 분석에 Alamofire & SwiftJSON을 사용합니다. 여기에 내 코드에서 몇 가지 관련 라인은 다음과 같습니다Json과 비슷한 Swift에서 날짜의 서식을 지정하는 방법은 무엇입니까?
let dateInteger = subJson["Date"].int
if dateInteger != nil {
let editedDateInt = dateInteger!
let dateString = NSMutableString(string: "\(editedDateInt)")
dateString.insert("-", at: 4)
dateString.insert("-", at: 7)
chartpoint.date = Formatters.sharedInstance.dateFromString(key: dateString as String) }
// date extension
public class Formatters {
public static let sharedInstance = Formatters()
private let dateKeyFormatter = DateFormatter()
init() { dateKeyFormatter.dateFormat = "yyyy-MM-dd" }
public func dateFromString(key: String?) -> Date? {
guard let key = key else { return nil }
return dateKeyFormatter.date(from: key) }
문제는 출력이 Optional(2015-10-12 16:00:00 +0000)
등장입니다. 내가 기대하고 있던 2015-10-13은 아닙니다. 이 문제를 어떻게 해결할 수 있습니까? 이것은 사용자의 로켈 또는 시간대와 관련이 있습니까?
코드는 문제가 없습니다. 왜 당신은 문제가 있다고 생각합니까? '2015-10-13' 문자열을'Date?'인스턴스로 구문 분석했습니다. 그런 다음 'Date?'를 인쇄하면 같은 날짜가 표시됩니다. – rmaddy
@EricAya 나는 당신이 제안한 변경을했다. 여전히 같은 출력. 2015-10-12 16:00:00 +0000 ... 몇 시간 전까지. – ckraider
@rmaddy 출력이 정확하지 않습니다. 2015-10-12 16:00:00 +0000. 촛대 차트를 만들기 위해 정확하고 yyyy-MM-dd 형식으로 만들려고합니다. – ckraider