加算
開始日付+1日
//Foundation
import Foundation
//日付を取得
let day = Date()
//【処理】
// 日の加算
//【引数】
// byAdding: .day(日単位で加算したいのでday指定【列挙型】)
// value: 1(1日加算)
// to: day(開始日)
//【戻り値】
// 算出後の日付
let modifiedDate = Calendar.current.date(byAdding: .day, value: 1, to: day)!
print("day : \(day)")
print("modifiedDate : \(modifiedDate)")
day : 2019-04-22 02:45:59 +0000
modifiedDate : 2019-04-23 02:45:59 +0000
開始時刻+1時間
//Foundation
import Foundation
//日付を取得
let day = Date()
//【処理】
// 時刻の加算
//【引数】
// byAdding: .hour(時単位で加算したいのでhour指定【列挙型】)
// value: 1(1時間加算)
// to: day(開始日)
//【戻り値】
// 算出後の日付
let modifiedDate = Calendar.current.date(byAdding: .hour, value: 1, to: day)!
print("day : \(day)")
print("modifiedDate : \(modifiedDate)")
day : 2019-04-22 04:31:38 +0000
modifiedDate : 2019-04-22 05:31:38 +0000
#減算
開始日付-1日
//Foundation
import Foundation
//日付を取得
let day = Date()
//【処理】
// 日の減算
//【引数】
// byAdding: .day(日単位で加算したいのでday指定【列挙型】)
// value: -1(1日減算)★マイナスを指定★
// to: day(開始日)
//【戻り値】
// 算出後の日付
let modifiedDate = Calendar.current.date(byAdding: .day, value: -1, to: day)!
print("day : \(day)")
print("modifiedDate : \(modifiedDate)")
day : 2019-04-22 04:32:01 +0000
modifiedDate : 2019-04-21 04:32:01 +0000
開始時刻-1時間
//Foundation
import Foundation
//日付を取得
let day = Date()
//【処理】
// 時刻の減算
//【引数】
// byAdding: .hour(時単位で加算したいのでhour指定【列挙型】)
// value: -1(1時間減算)★マイナスを指定★
// to: day(開始日)
//【戻り値】
// 算出後の日付
let modifiedDate = Calendar.current.date(byAdding: .hour, value: -1, to: day)!
print("day : \(day)")
print("modifiedDate : \(modifiedDate)")
day : 2019-04-22 04:32:47 +0000
modifiedDate : 2019-04-22 03:32:47 +0000
#その他(年・分・秒)
#####年の加算
//省略
let day = Date()
let modifiedDate = Calendar.current.date(byAdding: .year, value: 1, to: day)!
//省略
#####分の減算
//省略
let day = Date()
let modifiedDate = Calendar.current.date(byAdding: .minute, value: -10, to: day)!
//省略
#####秒の加算
//省略
let day = Date()
let modifiedDate = Calendar.current.date(byAdding: .second, value: 20, to: day)!
//省略
#####引数「byAdding」「value」について
-
byAdding
引数「byAdding」にenumで、
加算または減算する対象(年月日時分秒)を指定する。年:.year
月:.month
日:.day
時:.hour
分:.minute
秒:.second -
value
引数「value」に値(減算の場合はマイナス)を指定する。値指定の例
・1年減算 :-1
・3ヶ月加算:3
・10日減算:-10
・5時間加算:5
・40分減算:-40
・30秒加算:30
#背景
日付の減算方法に関するサイトが見つからなかったので
本記事を作成しました。
が、作成後にとても良い記事を見つけました。
本記事は基本的な処理ですが、下記の記事は一度に日時分単位で細かく
過去日付を取得することができるのでとても参考になりました。
- Swift3での日時に関する処理
- https://qiita.com/isom0242/items/e83ab77a3f56f66edd2f
#環境
-
フレームワーク
-
Foundation
-
SDKs
- Xcode 6.0.1+
- iOS 8.0+
- macOS 10.9+
- tvOS 9.0+
- watchOS 2.0+
#参考ドキュメント
-
Calendar.current.date(Dateの計算メソッド)
-
https://developer.apple.com/documentation/foundation/calendar/2293453-date
-
Calendar.Component(年月日時分秒のenum)
-
https://developer.apple.com/documentation/foundation/calendar/component