我正在努力从今天起开始和结束日期。
我通过使用获得当月的开始和结束日期 由Martin R给出的公式
Get first and last day of month
它运作良好。
我的问题是如何将我的自定义值放在此行
let components1 = calendar.components([.Year, .Month], fromDate: date)
我可以将自定义月份值替换为此代码吗?
我的要求是:
我有一个像几月一样的tableView,等等。 当我点击TableView时,我会根据tableview获得当前月份。
假设我点击1月,我将获得价值1。
那么如何使用我的自定义月份值来获取月份的开始和结束日期?
我的代码
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd MM yyyy"
//To Get Start Date of Month
let components1 = calendar.components([.Year,.Day], fromDate: date)
components1.month = 3
let startOfMonth = calendar.dateFromComponents(components1)!
txtStartDate.text = dateFormatter.stringFromDate(startOfMonth)
答案 0 :(得分:0)
试试这段代码:
let calendar = NSCalendar.currentCalendar()
let date = "January 2016" // custom value
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MMMM yyyy"
let components = calendar.components([.Year, .Month, .Day], fromDate: dateFormatter.dateFromString(date)!)
let startOfMonth = calendar.dateFromComponents(components)!
dateFormatter.dateFormat = "MM"
print(dateFormatter.stringFromDate(startOfMonth))
//NSLog("%@ : %@", startOfMonth,dateFormatter.stringFromDate(startOfMonth));
输出:
01
答案 1 :(得分:0)
我正在回答我自己的问题
临时号码是月份号码,如果1月份它将被视为1。
请仔细阅读此解决方案,以获取自定义值的开始日期和结束日期 谢谢@Martin R
let calendar = NSCalendar.currentCalendar()
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd MM yyyy"
//To Get Start Date of Month
let components1 = calendar.components([.Year], fromDate: NSDate())
components1.month = Int(tempNumber!)!
let startOfMonth = calendar.dateFromComponents(components1)!
txtStartDate.text = dateFormatter.stringFromDate(startOfMonth)
//To Get End Date of Month
let comps2 = NSDateComponents()
comps2.month = 1
comps2.day = -1
let endOfMonth = calendar.dateByAddingComponents(comps2, toDate: startOfMonth, options: [])!
txtEndDate.text = dateFormatter.stringFromDate(endOfMonth)