如何使用swift 3.0从日期获取最近30个日期

时间:2017-01-13 06:33:13

标签: json swift date swift3

我正在从JSON解析日期。从url解析JSON日期后,我希望从中获取最后30个日期。

 for i in 1..<31 
 {
      let day:String = String(cal.component(.day, from: currrentDate))
       days.append(day)
       print(days)

    Output : ["13", "12", "11", "10", "9", "8", "7", "6", 
   "5", "4", "3", "2", "1", "31", "30", "29", "28", "27", "26", "25", "24",
   "23", "22", "21", "20", "19", "18", "17", "16", "15"]
 }

我在这里打印了30天。

 For Example: ["13-01-2017", "12-01-2017", "11-01-2017", "10-01-2017"...]

我想以日期的形式打印出来。

Sockets

请帮帮我。

2 个答案:

答案 0 :(得分:2)

您可以通过以下方式从日期获取最近30个日期:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Origin" value="*"/>
      <add name="Access-Control-Allow-Headers" value="Content-Type"/>
      <add name="Access-Control-Allow-Methods" value="POST,GET,DELETE"/>
    </customHeaders>
  </httpProtocol>
</system.webServer>

<强>输出:

var today = Date()
var dateArray = [String]()
for i in 1...30{
  let tomorrow = Calendar.current.date(byAdding: .day, value: -1, to: today)
  let date = DateFormatter()
  date.dateFormat = "dd-MM-yyyy"
  var stringDate : String = date.string(from: today)
  today = tomorrow!
  dateArray.append(stringDate)
}
print(dateArray)

试试这可能对你有帮助。

答案 1 :(得分:1)

使用Swift 3非常容易。

if (hours > 24) {
    NSInteger days = hours/24;
    if (days > 30) {
       NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
       [dateFormatter setDateFormat:@"EEE d MMM, h:mm a"];
       //[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"IST"]];
        NSString *daydate = [dateFormatter stringFromDate:myDate];
        return daydate;
    }
    else{
    return [NSString stringWithFormat:@" %2ldd",(long)days];
    }
}else{
    if (hours == 0 && minutes < 1) {
        return [NSString stringWithFormat:@"Today"];
    }
    else if (hours == 0 && minutes < 60){
        return [NSString stringWithFormat:@"%2ldm ",(long)minutes];
    }
    else{
    return [NSString stringWithFormat:@" %2ldh",(long)hours];
    }
}