2016-05-19 5 views
0

私が知る必要がある1つの項目は、月の最初の日が該当するInt値です。だから私は残りを適切にレンダリングすることができます。スウィフト:nsdateから曜日を取得する方法

それは私の現在の日の平日ではない月の最初を与え続けるしかし、私は次のコード

var CurrentDisplayDate  = NSDate() 
var calendar    = NSCalendar.currentCalendar() 
let DateComponents  = calendar.components([.Hour, .Month, .Year, .Weekday], fromDate: CurrentDisplayDate) 
let StartWeekDay  = DateComponents.weekday 

を持っています。

おかげ

+0

は、現在の日または月の最初に等しいCurrentDisplayDate' 'されている別の方法でそれを行うことができますか? – Sulthan

+0

NSDate()は**現在の日付(19/05/2016)を意味するので、現在の曜日の平日を与える** **月の平日の最初の日を希望する場合は、現在の月と年をそのままにして、 1は**(1/05/2016)**です。今月1日の曜日が作成されます。 – Gokul

答えて

0

私が何をしたいことは、このようなものだと思う...

var calendar = NSCalendar.currentCalendar() 
let today = NSDate() 
let dateComponents = calendar.components([.Day, .Month, .Year], fromDate: today) 
dateComponents.day = 1 // ** set the day of month to 1 
// Get a real date back from the modified components 
if let startDate = calendar.dateFromComponents(dateComponents) { 
    // and extract the weekday from *that* date 
    let startComponents = calendar.components([.Weekday, .Month, .Year], fromDate: startDate) 
    let startWeekDay = startComponents.weekday 
} 
0

私はそれが参考になっだろう願っています。このお試しください!

let dateFormatter = NSDateFormatter() 
let date = NSDate() 
dateFormatter.dateFormat = "yyyy-MM-dd" 
let calendar = NSCalendar.currentCalendar() 
let components = calendar.components([.Year, .Month, .Day, .Hour, .Minute, .Second], fromDate: date) 

let month = components.month 
let year = components.year 

let startOfMonth = ("\(year)-\(month)-01") 
print(startOfMonth) 

また

let dateFormatter = NSDateFormatter() 
    let date = NSDate() 
    dateFormatter.dateFormat = "yyyy-MM-dd" 
    let calendar = NSCalendar.currentCalendar() 
    let components = calendar.components([.Year, .Month], fromDate: date) 
    let startOfMonth = calendar.dateFromComponents(components)! 
    print(dateFormatter.stringFromDate(startOfMonth)) 
関連する問題