[英]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.