本教程展示了如何在Swift中做以下事情
- 获取昨天的日期
- 获取明天的日期
- 在当前日期上加减1个星期
- 在当前日期上加减1个月的时间
- 在当前日期上添加和减去1年的时间
要向当前日期添加任何值,Calendar
提供了date
方法,其语法如下
date(byAdding:to:options:)
byAdding
: 告诉添加.day
或.month
,.year
和.weekOfYear``value
: 值可以是正数或负数to
: 指定当前日期。
如何从当前日期中添加和减去日、月、周和年?
当前日期使用新的Date()
对象返回。
- 获取当前日期的例子
Date()对象返回当前日期和时间
import Foundation
let date = Date()
print(date)
输出:
2022-07-03 11:16:16 +0000
- 获取昨天的日期的例子
Date()对象返回当前日期和时间
import Foundation
let date = Date()
// yesterday date
let yesterday = Calendar.current.date(byAdding: .day, value: -1, to: date)!
print(yesterday)
输出:
2022-07-02 11:16:16 +0000
- 获取明天的日期的例子
import Foundation
let date = Date()
// tomorrows date
let tomorrow = Calendar.current.date(byAdding: .day, value: 1, to: date)!
print(tomorrow)
输出结果:
2022-07-04 11:16:16 +0000
- 在当前日期上加减1周的例子
import Foundation
let date = Date()
// add 1 week to current date
let nextWeek = Calendar.current.date(byAdding: .weekOfYear, value: -1, to: date)!
print(nextWeek)
// substract 1 week to current date
let previousWeek = Calendar.current.date(byAdding: .weekOfYear, value: 1, to: date)!
print(previousWeek)
输出结果:
2022-06-26 11:29:12 +0000
2022-07-10 11:29:12 +0000
- 在当前日期上加减1个月的例子
import Foundation
let date = Date()
// add 1 month to current date
let onemonth = Calendar.current.date(byAdding: .month, value: 1, to: date)!
print(onemonth)
// substract 1 month to current date
let previousMonth = Calendar.current.date(byAdding: .month, value: -1, to: date)!
print(previousMonth)
输出:
2022-08-03 11:29:12 +0000
2022-06-03 11:29:12 +0000
- 在当前日期上加减1年的例子
添加了byAdding: .year和值1的日期函数,以获得下一年的今日日期。 添加了byAdding: .year和值-1的日期函数,以获得上一年的今日日期。
// add 1 year to current date
let nextYear = Calendar.current.date(byAdding: .year, value: 1, to: date)!
print(nextYear)
// substract 1 year to current date
let previousYear = Calendar.current.date(byAdding: .year, value: -1, to: date)!
print(previousYear)
输出:
2023-07-03 11:31:01 +0000
2021-07-03 11:31:01 +0000