0
日付[1,2,3 ....現在の日付]を印刷したいが、正しい結果が得られません。 私は最初の日に私のコードで "1"が設定されているので、出力は[2,3,4]です。そして、私が1日を設定すると "0"です。結果は正しく表示されますが、追加の日付[1,2,3,4,5]が表示されます。そして、今日は2016年10月4日、私のタイムゾーンです。NSDateで正しく日付が使用されないSwift
let date = NSDate()
let components = NSCalendar.currentCalendar().components([.Day , .Month , .Year], fromDate: date)
let year = components.year
let month = components.month
let day = 1 // Output is [2,3,4]
// let day = 0 than o/p [1,2,3,4,5]
dateFormatatter.dateFormat = "MMMM yyyy"
monthNameLabel.text = dateFormatatter.stringFromDate(date)
startDate.year = year
startDate.month = month
startDate.day = day
let startDateNSDate = calendar.dateFromComponents(startDate)!
var dateStart = startDateNSDate // first date
let endDate = NSDate() // last date
dateFormatatter.dateFormat = "dd"
while dateStart.compare(endDate) != .OrderedDescending {
// print(fmt.stringFromDate(date))
// Advance by one day:
dateStart = calendar.dateByAddingUnit(.Day, value: 1, toDate: dateStart, options: [])!
let dateFormat1 = NSDateFormatter()
dateFormat1.dateFormat = "dd-MM-yyyy"
dateArrayCalendar.addObject(dateFormatatter.stringFromDate(dateStart))
dateArrayForCompare.addObject(dateFormat1.stringFromDate(dateStart))
}
そして、私はしたい。このような結果[1,2,3,4]
、同じ問題がここ
let componentsForCompare = calendar.components([.Year, .Month], fromDate: date)
let startOfMonth = calendar.dateFromComponents(componentsForCompare)!
print(startOfMonth)//2016-09-30 18:30:00 +0000
print(dateFormatatter.stringFromDate(startOfMonth)) //01
そのあなたがする必要が異なる出力します
このコードを実行したとき、私は '[" 01 "、" 02 "、" 03 "、" 04 "]'を得ました - ここに私の遊び場からのコードです - https://gist.github.com/paulw11/278447c9678428fa584319a4d95c2facあなたのコードはあなたの質問では完全ではなかったので、私はいくつかの変数を宣言しなければなりませんでした。 – Paulw11
どういう意味ですか? – Paulw11
私がday = 1に設定し、私のdataArrayカレンダーをチェックインすると、最初の日付はバックエンドで30-09-2016です。アップロードされた画像を確認してください – iDeveloper