从 swift 中的当前月份获取下一个第 3 个月的名称
Get next 3rd month name from the current month in swift
如何获取从当前月份到 11 月的第 3 个月名称。例如:-如果当前月份是 11 月,那么我想要从 2 月开始的月份名称。当前月份应该是 运行 月份。
问题:如何获取当前月份的第 3 个月名称?
有人可以向我解释如何获取月份名称吗?任何帮助将不胜感激。
提前致谢。
//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!))
}
}
您需要使用日历 class,例如
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)")
}
请记住日历算术的处理方式:如果您添加“3 个月”,假设是 2019 年 11 月 30 日,那么您将得到 Feb-29 日 ,2020 年,尽管有人可能期望 2020 年 3 月 1 日。
如何获取从当前月份到 11 月的第 3 个月名称。例如:-如果当前月份是 11 月,那么我想要从 2 月开始的月份名称。当前月份应该是 运行 月份。
问题:如何获取当前月份的第 3 个月名称?
有人可以向我解释如何获取月份名称吗?任何帮助将不胜感激。
提前致谢。
//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!))
}
}
您需要使用日历 class,例如
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)")
}
请记住日历算术的处理方式:如果您添加“3 个月”,假设是 2019 年 11 月 30 日,那么您将得到 Feb-29 日 ,2020 年,尽管有人可能期望 2020 年 3 月 1 日。