gpt4 book ai didi

ios - 在 Swift 中使用 NSDate 无法正确获取日期

转载 作者:行者123 更新时间:2023-11-30 13:01:42 25 4
gpt4 key购买 nike

我想打印日期 [1,2,3...当前日期] 但没有得到正确的结果。因为当我在代码中设置第一天为“1”时,输出在[2,3,4]中。当我设置日期为“0”时。结果显示正确,但显示额外的日期 [1,2,3,4,5]。今天是 2016 年 10 月 4 日,这是我的时区。

    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

它给出不同的输出

最佳答案

您需要在 while 循环的末尾(而不是开始时)增加日期:

while dateStart.compare(endDate) != .OrderedDescending {
// print(fmt.stringFromDate(date))
// Advance by one day:

let dateFormat1 = NSDateFormatter()
dateFormat1.dateFormat = "dd-MM-yyyy"

dateArrayCalendar.addObject(dateFormatatter.stringFromDate(dateStart))
dateArrayForCompare.addObject(dateFormat1.stringFromDate(dateStart))

dateStart = calendar.dateByAddingUnit(.Day, value: 1, toDate: dateStart, options: [])!
}

关于ios - 在 Swift 中使用 NSDate 无法正确获取日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39845149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com