質問編集履歴

5

試したこと③を追加

2022/06/18 09:41

投稿

Risney
Risney

スコア148

test CHANGED
File without changes
test CHANGED
@@ -57,6 +57,15 @@
57
57
  formatter.locale = Locale.current
58
58
  ```
59
59
 
60
+ ### 試したこと③
61
+ UTCだと9時間ズレてしまうみたいなので、
62
+ 明示的にロケールとタイムゾーンを指定する。
63
+ ※多分、**試したこと②**とやっていることはかわらない
64
+ ```swift
65
+ formatter.locale = Locale(identifier: "ja_JP")
66
+ formatter.timeZone = TimeZone(identifier: "JST")
67
+ ```
68
+
60
69
  引き続き自分でも調査いたしますが、
61
70
  有識者の方の力をお借りできれば幸いです。
62
71
 

4

試したこと2を追加

2022/06/18 08:58

投稿

Risney
Risney

スコア148

test CHANGED
File without changes
test CHANGED
@@ -40,13 +40,21 @@
40
40
  }
41
41
  ```
42
42
 
43
- ### 試したこと
43
+ ### 試したこと
44
44
  1日前になってしまっているのではなく、
45
45
  9時間ズレてしまっているのではないかと思い、
46
46
  dateFromString メソッドに以下を追加したが何もかわらず、、
47
47
  ```swift
48
- formatter.calendar = Calendar(identifier: .gregorian)
48
+ formatter.calendar = Calendar(identifier: .gregorian)
49
- formatter.locale = Locale(identifier: "ja_JP")
49
+ formatter.locale = Locale(identifier: "ja_JP")
50
+ ```
51
+
52
+ ### 試したこと②
53
+ 記事を参考に以下を追加してもダメでした。
54
+ 参考:[【Swift4】Date()の9時間のズレを調整【Date】](https://qiita.com/fromage-blanc/items/ae966e07f40dc7afca5d)
55
+ ```swift
56
+ formatter.timeZone = TimeZone.current
57
+ formatter.locale = Locale.current
50
58
  ```
51
59
 
52
60
  引き続き自分でも調査いたしますが、

3

試したことに追記

2022/06/18 08:51

投稿

Risney
Risney

スコア148

test CHANGED
@@ -1 +1 @@
1
- String(例:20220618)をDate型にしたい
1
+ String(例:20220618)をDate型にした時に9時間ズレるのを調整した
test CHANGED
@@ -42,8 +42,12 @@
42
42
 
43
43
  ### 試したこと
44
44
  1日前になってしまっているのではなく、
45
- 9時間ズレてしまっているのではないかと思ったのですが
45
+ 9時間ズレてしまっているのではないかと思
46
- と言って9時間プラスする方法も現状らず、質問させて頂きました。
46
+ dateFromString メソッドに以下を追加したが何もかわらず、
47
+ ```swift
48
+ formatter.calendar = Calendar(identifier: .gregorian)
49
+ formatter.locale = Locale(identifier: "ja_JP")
50
+ ```
47
51
 
48
52
  引き続き自分でも調査いたしますが、
49
53
  有識者の方の力をお借りできれば幸いです。

2

誤字の修正

2022/06/18 08:19

投稿

Risney
Risney

スコア148

test CHANGED
File without changes
test CHANGED
@@ -7,12 +7,11 @@
7
7
 
8
8
  ### 発生している問題・エラーメッセージ
9
9
  Date型には変換できるのですが、
10
- ピッカーで選択した値1日前の日になってしまいます。(以下は例です)
10
+ ピッカーで選択した値1日前の日に変換されてしまいます。(以下は例です)
11
11
  ・ピッカーで選択した値:20220618
12
12
  ・Date型に変換後の値:2022-06-17 15:00:00 +0000
13
13
 
14
14
  ### 該当のソースコード
15
-
16
15
  dateSelected には「20220618」という文字列が入っています。
17
16
  ```swift
18
17
  let selectedValue = DateUtils.dateFromString(string: dateSelected, format: "yyyyMMdd")

1

内容の修正

2022/06/18 08:15

投稿

Risney
Risney

スコア148

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 前提
2
- 以下の条件の場合にダイアログを表示したい
2
+ 以下の条件の場合にダイアログを表示したい
3
- 日付ピッカーで選択した日付が、今日と比べて30日以降だった場合
3
+ 日付ピッカーで選択した日付が、今日と比べて30日以降だった場合
4
4
 
5
5
  ### 実現したいこと
6
6
  ピッカーで選択した値のString(例:20220618)をDate型にしたい