Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在swift中从当前月份获取下一个第三个月的名称_Ios_Swift_Date_Nsdate_Monthcalendar - Fatal编程技术网

Ios 在swift中从当前月份获取下一个第三个月的名称

Ios 在swift中从当前月份获取下一个第三个月的名称,ios,swift,date,nsdate,monthcalendar,Ios,Swift,Date,Nsdate,Monthcalendar,如何获取从当前月份到11月的第三个月的名称。例如:-如果当前月份是11月,则我希望从2月开始的月份名称。当前月份应为运行月份 问题:如何从当前月份获取第三个月的名称 有人能给我解释一下如何得到月名吗。任何帮助都将不胜感激 提前感谢。您需要使用Calendar类,例如 //set start & end date in correct format let startDate = "September" let strEndDate = "December" //create date

如何获取从当前月份到11月的第三个月的名称。例如:-如果当前月份是11月,则我希望从2月开始的月份名称。当前月份应为运行月份

问题:如何从当前月份获取第三个月的名称

有人能给我解释一下如何得到月名吗。任何帮助都将不胜感激


提前感谢。

您需要使用Calendar类,例如

//set start & end date in correct format
let startDate = "September"
let strEndDate = "December"

//create date formatter
let formatter = DateFormatter()
formatter.dateFormat = "MMMM"

//convert string into date object
guard let startDate = formatter.date(from: startDate) else {
  print("invalid start date")
   return
}

 //convert string into date object
guard let endDate = formatter.date(from: strEndDate) else {
  print("invalid end date time")
  return
}

//calculate the month from end date and that should not exceed the start date
for month in 1...6 {

  if let dt = Calendar.current.date(byAdding: .month, value: -month, to: endDate) {
     if dt.compare(startDate) == .orderedAscending {
        break
      } 
      print(formatter.string(from: dt!))
  }
}
var now = Date()
var calendar = Calendar.current


if let then = calendar.date(byAdding: .month, value: 3, to: now) {
  let dateFormatter = DateFormatter()
  dateFormatter.dateFormat = "LLLL"
  let monthName = dateFormatter.string(from: then)
  print ("\(monthName)")
}

请记住calenar算术是如何处理的:如果你加上“3个月”,比如2019年11月30日,那么你将得到2020年2月29日,尽管有人可能预计到2020年3月1日

你可以用日历来做,显示你的代码,说明你是如何做的。从11月开始的3个月应该是2月