teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2017/03/06 12:56

投稿

xAxis
xAxis

スコア1349

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  ```swift
2
- let date = Date()
2
+ let date = Date() //2017-03/06-21:00
3
3
  let calendar = Calendar(identifier: .gregorian)
4
4
 
5
5
  var components = calendar.dateComponents([.day, .hour, .minute], from: date)

2

誤字の修正

2017/03/06 12:56

投稿

xAxis
xAxis

スコア1349

answer CHANGED
@@ -17,8 +17,8 @@
17
17
  var date = Date() //2017-03/06-21:00
18
18
  let calendar = Calendar(identifier: .gregorian)
19
19
  date = calendar.date(byAdding: .day, value: -1, to: date)! //2017-03/05-21:00
20
+ date = calendar.date(byAdding: .hour, value: 2, to: date)! //2017-03/05-23:00
20
- date = calendar.date(byAdding: .minute, value: 2, to: date)! //2017-03/05-23:00
21
+ date = calendar.date(byAdding: .minute, value: 59, to: date)! //2017-03/05-23:59
21
- date = calendar.date(byAdding: .hour, value: 59, to: date)! //2017-03/05-23:59
22
22
 
23
23
  ```
24
24
  とやる方法があります。

1

修正

2017/03/06 12:53

投稿

xAxis
xAxis

スコア1349

answer CHANGED
@@ -1,8 +1,24 @@
1
- 一日前にしたい、だと
2
1
  ```swift
3
2
  let date = Date()
4
3
  let calendar = Calendar(identifier: .gregorian)
4
+
5
- let yesterday = calendar.date(byAdding: .day, value: -1, to: date)!
5
+ var components = calendar.dateComponents([.day, .hour, .minute], from: date)
6
+
7
+ components.day = 5
8
+ components.hour = 23
9
+ components.minute = 59
10
+
11
+ let yesterday = calendar.date(from: components)! //2017-03/05-23:59
6
12
  ```
13
+
14
+ とやるか
15
+ ```swift
16
+
17
+ var date = Date() //2017-03/06-21:00
18
+ let calendar = Calendar(identifier: .gregorian)
19
+ date = calendar.date(byAdding: .day, value: -1, to: date)! //2017-03/05-21:00
20
+ date = calendar.date(byAdding: .minute, value: 2, to: date)! //2017-03/05-23:00
21
+ date = calendar.date(byAdding: .hour, value: 59, to: date)! //2017-03/05-23:59
22
+
23
+ ```
7
- のように任意のdateから加減してやる方法があります。
24
+ やる方法があります。
8
- このケースでは一日前なのでvalueを-1にしてますが翌日にしたいだと+1ですね。