Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9312

[備忘録] Enum DayOfWeek.ToString(string format)

$
0
0

「結局そのFormatStringで何が出るんじゃい」っていう一覧がどこにもなかったので備忘録
VS2019なのでC#8.x系だと思います。

varformats=newstring[]{string.Empty,"G","X","F","D"};foreach(varfinformats){Console.WriteLine($"FormatString = {f}");Console.WriteLine($"Monday = {DayOfWeek.Monday.ToString(f)}");Console.WriteLine($"Tuesday = {DayOfWeek.Tuesday.ToString(f)}");Console.WriteLine($"Wednesday = {DayOfWeek.Wednesday.ToString(f)}");Console.WriteLine($"Thursday = {DayOfWeek.Thursday.ToString(f)}");Console.WriteLine($"Friday = {DayOfWeek.Friday.ToString(f)}");Console.WriteLine($"Saturday = {DayOfWeek.Saturday.ToString(f)}");Console.WriteLine($"Sunday = {DayOfWeek.Sunday.ToString(f)}");Console.WriteLine();}
FormatString =
Monday = Monday
Tuesday = Tuesday
Wednesday = Wednesday
Thursday = Thursday
Friday = Friday
Saturday = Saturday
Sunday = Sunday

FormatString = G
Monday = Monday
Tuesday = Tuesday
Wednesday = Wednesday
Thursday = Thursday
Friday = Friday
Saturday = Saturday
Sunday = Sunday

FormatString = X
Monday = 00000001
Tuesday = 00000002
Wednesday = 00000003
Thursday = 00000004
Friday = 00000005
Saturday = 00000006
Sunday = 00000000

FormatString = F
Monday = Monday
Tuesday = Tuesday
Wednesday = Wednesday
Thursday = Thursday
Friday = Friday
Saturday = Saturday
Sunday = Sunday

FormatString = D
Monday = 1
Tuesday = 2
Wednesday = 3
Thursday = 4
Friday = 5
Saturday = 6
Sunday = 0

Enum.ToString()はこういうことらしい

列挙型形式文字列
https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/enumeration-format-strings

何も指定しないとGと同値になる。
GFの違いが分からないが、EnumにFlags属性があると何か変わるらしい。
(公式の例示が微妙で分からないが、少なくともDayOfWeekには関係が無さそう)

Dはint、Xはbyte。


「何曜日」が欲しければ、DateTime.ToString(String)を指定するか、CultureInfo.DateTimeFormat.GetDayName(DayOfWeek)を使えばよさそう。
日付から取得するときは前者、一覧が欲しければ後者がいいと思う。凝らないなら素直に手打ちする。

varci=newCultureInfo("ja-JP");Console.WriteLine($"CultureInfoName = {ci.Name}");Console.WriteLine($"{DateTime.Now.ToString("yyyy/MM/dd ddd dddd")}");Console.WriteLine($"Monday = {ci.DateTimeFormat.GetDayName(DayOfWeek.Monday)}");Console.WriteLine($"Tuesday = {ci.DateTimeFormat.GetDayName(DayOfWeek.Tuesday)}");Console.WriteLine($"Wednesday = {ci.DateTimeFormat.GetDayName(DayOfWeek.Wednesday)}");Console.WriteLine($"Thursday = {ci.DateTimeFormat.GetDayName(DayOfWeek.Thursday)}");Console.WriteLine($"Friday = {ci.DateTimeFormat.GetDayName(DayOfWeek.Friday)}");Console.WriteLine($"Saturday = {ci.DateTimeFormat.GetDayName(DayOfWeek.Saturday)}");Console.WriteLine($"Sunday = {ci.DateTimeFormat.GetDayName(DayOfWeek.Sunday)}");
CultureInfoName = ja-JP
2021/02/04 木 木曜日
Monday = 月曜日
Tuesday = 火曜日
Wednesday = 水曜日
Thursday = 木曜日
Friday = 金曜日
Saturday = 土曜日
Sunday = 日曜日

Viewing all articles
Browse latest Browse all 9312

Latest Images

Trending Articles



Latest Images