回答編集履歴

1

修正

2019/01/13 17:18

投稿

YAmaGNZ
YAmaGNZ

スコア10623

answer CHANGED
@@ -16,25 +16,10 @@
16
16
 
17
17
  厳密に行いたいのであれば、[DateTime.TryParseExactメソッド](https://docs.microsoft.com/ja-jp/dotnet/api/system.datetime.tryparseexact?view=netframework-4.7.2)を使用して
18
18
  ```VB.NET
19
- If DateTime.TryParseExact(test, "yyyy年MM月dd日", Globalization.DateTimeFormatInfo.InvariantInfo,
19
+ Dim Formats As String() = {"yyyy年MM月dd日", "yyyy/M/d", "d-MMM-yy", "yyyy-MM-dd"}
20
- Globalization.DateTimeStyles.NoCurrentDateDefault, testdate) = False Then
21
20
 
22
- If DateTime.TryParseExact(test, "yyyy/M/d", Globalization.DateTimeFormatInfo.InvariantInfo,
23
- Globalization.DateTimeStyles.NoCurrentDateDefault, testdate) = False Then
24
-
25
- If DateTime.TryParseExact(test, "d-MMM-yy", Globalization.DateTimeFormatInfo.InvariantInfo,
21
+ If DateTime.TryParseExact(test, Formats , Globalization.DateTimeFormatInfo.InvariantInfo,Globalization.DateTimeStyles.None, OutputDate) Then
26
- Globalization.DateTimeStyles.NoCurrentDateDefault, testdate) = False Then
22
+ Console.WriteLine($"{test} = {OutputDate:yyyy年MM月dd日 HH時mm分}")
27
-
28
- If DateTime.TryParseExact(test, "yyyy-MM-dd", Globalization.DateTimeFormatInfo.InvariantInfo,
29
- Globalization.DateTimeStyles.NoCurrentDateDefault, testdate) = False Then
30
-
31
- '変換エラー
32
- End If
33
-
34
- End If
35
-
36
- End If
37
-
38
23
  End If
39
24
  ```
40
25
  とすればどうでしょうか