Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 增加Swift中月份和年份的值_Ios_Swift - Fatal编程技术网

Ios 增加Swift中月份和年份的值

Ios 增加Swift中月份和年份的值,ios,swift,Ios,Swift,我使用它来获取我的月份代码值 @IBAction func increasemonth(_ sender: Any) { let currentmonth = Calendar.current.component(.month, from: Date()) let increasemonth = currentmonth + 1 print(increasemonth) // 2 } @IBAction func decreasemont

我使用它来获取我的月份代码值

@IBAction func increasemonth(_ sender: Any) {
     let currentmonth = Calendar.current.component(.month, from: Date())
     let increasemonth =  currentmonth + 1
     print(increasemonth) // 2            
}

@IBAction func decreasemonth(_ sender: Any) {            
    let currentmonth = Calendar.current.component(.month, from: Date())
    let decreasemonth =  currentmonth - 1              
    print(decreasemonth)// 0  
}

我想用这个月来表示1,2,3…12,然后年份值在增加按钮中更改为2021年,也可以减少月份值,例如1,12,11…2,然后年份值更改为2019年。您可以使用以下日期扩展

extension Date {

/// return yesterday date
var yesterday: Date {
    return Calendar.current.date(byAdding: .day, value: -1, to: self)!
}

/// return tomorrow date
var tomorrow: Date {
    return Calendar.current.date(byAdding: .day, value: 1, to: self)!
}

/// return day from date
var day: Int {
    return Calendar.current.component(.day,  from: self)
}

/// return month from date
var month: Int {
    return Calendar.current.component(.month,  from: self)
}

/// return year from date
var year: Int {
    return Calendar.current.component(.year,  from: self)
}

/// return previous month date
var previousMonthDate: Date {
    return Calendar.current.date(byAdding: .month, value: -1, to: self)!
}

/// return next month date
var nextMonthDate: Date {
    return Calendar.current.date(byAdding: .month, value: 1, to: self)!
}

/// return true is it is last day of month
var isLastDayOfMonth: Bool {
    return tomorrow.month != month
}

/// return start date of month
var startOfMonth: Date {
    return Calendar.current.date(from: Calendar.current.dateComponents([.year, .month], from: Calendar.current.startOfDay(for: self)))!
}

/// return end date of month
var endOfMonth: Date {
    return Calendar.current.date(byAdding: DateComponents(month: 1, day: -1), to: self.startOfMonth)!
}

/// return start date of last month
var startOfLastMonth: Date {
    let components:NSDateComponents = Calendar.current.dateComponents([.year, .month], from: self) as NSDateComponents
    components.month -= 1
    return Calendar.current.date(from: components as DateComponents)!
}

/// return end date of last month
var endOfLastMonth: Date {
    var components = Calendar.current.dateComponents([.year, .month], from: self)
    components.day = 1
    components.day! -= 1
    return Calendar.current.date(from: components)!
}

/// return last week date
var last7Day: Date {
    return Calendar.current.date(byAdding: .day, value: -7, to: self)!
}

/// return last month date
var last30Day: Date {
    return Calendar.current.date(byAdding: .day, value: -30, to: self)!
}

/// return last 6 month date
var last6Month: Date {
    return Calendar.current.date(byAdding: .month, value: -6, to: self)!
}

/// return last 3 month date
var last3Month: Date {
    return Calendar.current.date(byAdding: .month, value: -3, to: self)!
}

/// return date by adding numbner of days
func dateByAdding(days: Int) -> Date {
    return (Calendar.current as NSCalendar).date(byAdding: .day, value: days, to: self, options: [])!
}

func startOfWeek(weekday: Int?) -> Date {
    var cal = Calendar.current
    var component = cal.dateComponents([.yearForWeekOfYear, .weekOfYear], from: self)
    component.to12am()
    cal.firstWeekday = weekday ?? 1
    return cal.date(from: component)!
}

func endOfWeek(weekday: Int) -> Date {
    let cal = Calendar.current
    var component = DateComponents()
    component.weekOfYear = 1
    component.day = -1
    component.to12pm()
    return cal.date(byAdding: component, to: startOfWeek(weekday: weekday))!
}

var dayOfWeek: Int {
    var dayOfWeek = Calendar.current.component(.weekday, from: self) + 1 - Calendar.current.firstWeekday

    if dayOfWeek <= 0 {
        dayOfWeek += 7
    }

    return dayOfWeek
}

var startOfWeek: Date {
    return Calendar.current.date(byAdding: DateComponents(day: -(self.dayOfWeek + 1)), to: self)!
}

var endOfWeek: Date {
    return Calendar.current.date(byAdding: DateComponents(day: 6), to: self.startOfWeek)!
}

var startOfQuarter: Date {
    let quarter = (Calendar.current.component(.month, from: self) - 1) / 3 + 1
    return Calendar.current.date(from: DateComponents(year: Calendar.current.component(.year, from: self), month: (quarter - 1) * 3 + 1))!
}

var endOfQuarter: Date {
    return Calendar.current.date(byAdding: DateComponents(month: 3, day: -1), to: self.startOfQuarter)!
}

var startOfYear: Date {
    return Calendar.current.date(from: Calendar.current.dateComponents([.year], from: self))!
}

var endOfYear: Date {
    return Calendar.current.date(from: DateComponents(year: Calendar.current.component(.year, from: self), month: 12, day: 31))!
}


var hour: Int {
    return Calendar.current.component(.hour, from: self)
}

var minute: Int {
    return Calendar.current.component(.minute, from: self)
}

var seconds: Int {
    return Calendar.current.component(.second, from: self)
}

var nanosecond: Int {
    return Calendar.current.component(.nanosecond, from: self)
}

func stringWith(format: String) -> String {
    let formatter = DateFormatter()
    formatter.dateFormat = format
    return formatter.string(from: self)
}

public var currentTimeStamp: String {
    return "\(timeIntervalSince1970 * 1000)"
}
}

谢谢…但是让我知道我的循环过程。。相同的值附加到我上一个月的值中,即仅增加+1或-1到12….您需要设置一个条件,该月>0&&月,那么年呢。。在Android中,他们提供..单击增加/减少月份以及年份值,您需要在
Date
对象中添加+1或-1作为月份。
let date = Date()
print("month: \(date.month)") //you can do something with month
print("year: \(date.year)") //you can do something with year
print("hour: \(date.hour)") //you can do something with hour