コミットメタ情報

リビジョンf980022b6969e0f0a8be237c92194832c16d4d10 (tree)
日時2018-05-10 20:25:54
作者Kazuhiro Fujieda <fujieda@user...>
コミッターKazuhiro Fujieda

ログメッセージ

Windows 10 1803で和暦のログを西暦にする処理がおかしいのを直す

変更サマリ

差分

--- a/KancolleSniffer/LogServer.cs
+++ b/KancolleSniffer/LogServer.cs
@@ -184,15 +184,17 @@ namespace KancolleSniffer
184184 {
185185 var data = line.Split(',');
186186 if (!DateTime.TryParseExact(data[0], Logger.DateTimeFormat, CultureInfo.InvariantCulture,
187- DateTimeStyles.AssumeLocal, out DateTime date))
187+ DateTimeStyles.AssumeLocal, out var date))
188188 {
189189 // システムが和暦に設定されていて和暦が出力されてしまったケースを救う
190- var wareki = CultureInfo.CreateSpecificCulture("ja-JP");
191- wareki.DateTimeFormat.Calendar = new JapaneseCalendar();
192- if (DateTime.TryParseExact(data[0], Logger.DateTimeFormat, wareki,
193- DateTimeStyles.AssumeLocal, out date))
190+ if (data[0][2] == '-')
194191 {
195- data[0] = Logger.FormatDateTime(date);
192+ if (!int.TryParse(data[0].Substring(0, 2), out var year))
193+ continue;
194+ data[0] = 1988 + year + data[0].Substring(2);
195+ if (!DateTime.TryParseExact(data[0], Logger.DateTimeFormat, CultureInfo.InvariantCulture,
196+ DateTimeStyles.AssumeLocal, out date))
197+ continue;
196198 }
197199 else if (DateTime.TryParse(data[0], CultureInfo.CurrentCulture,
198200 DateTimeStyles.AssumeLocal, out date))
旧リポジトリブラウザで表示