如何获得最新一周,一个月,一年从现在排除,今年开始的第一天,一个月
问题描述:
class func getDateFor(forOption: Int) -> String {
let unit : NSCalendarUnit = [.WeekOfYear, .Month, .Year][forOption]
let calendar = NSCalendar.currentCalendar()
let date = calendar.dateByAddingUnit(unit, value: -1, toDate: NSDate(), options: NSCalendarOptions.WrapComponents)
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
formatter.timeZone = NSTimeZone(forSecondsFromGMT: 0)
formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
var returnDate = formatter.stringFromDate(date!)
returnDate = returnDate.stringByReplacingOccurrencesOfString(":", withString: "%3A")
return returnDate
}
当选择如何获得最新一周,一个月,一年从现在排除,今年开始的第一天,一个月
周选择什么其实我想要的是:应该在返回日期包括今天在内的7天。 (说,今天是星期一,因此返回的日期应该是上周二的日期。)
月:应该从这个当周返回第四周我包含本周,如果我在第四周应该返回一周一次。
年份:应该从今天的月份返回第11个月。 (说,这是六月,所以返回的月份应该是七月。)
当前似乎是返回值,包括开始日期。提前致谢。
答
let decreaseUnit: NSCalendarUnit = [.Day, .WeekOfYear, .Month][forOption]
let date = calendar.dateByAddingUnit(decreaseUnit, value: 1, toDate: dateIncluding!, options: NSCalendarOptions())
添加以下代码行使我的解决方案。
那么,在得到两票反对的问题上有什么错误,关心的是编程智慧? – Lazy