[英]How to get first date of month?
我正在研究从今天开始的开始和结束日期。
我正在使用Martin R给出的公式获取本月的开始和结束日期
运行良好。
我的问题是如何在此行中输入我的自定义值
let components1 = calendar.components([.Year, .Month], fromDate: date)
我可以将我的自定义月份值替换为此代码吗?
我的要求是:
我有一个tableView可以使用一月等月份,等等。当我单击TableView时,我将根据tableview获得当前月份。
假设我单击一月,我将获得价值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)
试试这个代码:
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月将被视为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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.