【发布时间】:2017-11-21 12:57:48
【问题描述】:
我从服务器响应中获得了两个时间戳。喜欢关注
value = 1507824000; //2017-10-12 16:00:00 +0000
value2 = 1507939200; //2017-10-14 00:00:00 +0000
let startTimeStamp = dateTimeStampValues["value"] as! String
let endTimeStamp = dateTimeStampValues["value2"] as! String
let convertedDate = Double(startTimeStamp)
let convertedEndDate = Double(endTimeStamp)
var startdate = Date(timeIntervalSince1970: convertedDate!)
let enddate = Date(timeIntervalSince1970: convertedEndDate!)
self.showRange(between: startdate, and: enddate)
func showRange(between startDate: Date, and endDate: Date) {
guard startDate < endDate else { return }
let calendar = Calendar.current
let calendarEndDate = calendar.startOfDay(for: endDate)
var currentDate = calendar.startOfDay(for: startDate)
while(currentDate <= calendarEndDate) {
print(currentDate)
currentDate = Calendar.current.date(byAdding: .day, value: 1, to: currentDate)!
let dateString = currentDate.convertDateToString(withFormat: "MMM-dd-yyyy h:mm a")
self.totalDaysFromServerArray.append(dateString)
print("\(self.totalDaysFromServerArray)")
}
}
但是,输出是
self.totalDaysFromServerArray is ["Oct-13-2017 12:00 AM", "Oct-14-2017 12:00 AM", "Oct-15-2017 12:00 AM"]
但是,它应该从 2017 年 10 月 12 日至 17 年 10 月 14 日
谁能给我建议,我的代码哪里出了问题,谢谢。
【问题讨论】:
-
两个值都是 Sun Jan 18 1970 16:20:24 GMT+0530,如果您转换为日期 - ruddwire.com/handy-code/date-to-millisecond-calculators/…
-
@AbdulKarim :与此无关。因为这两个值都是对的!如果您将它们转换为日期,那么它将返回
2017-10-12 16:00:00 +0000和2017-10-14 00:00:00 +0000。