曜日の整数値を取得する方法


104

整数形式で曜日を取得するにはどうすればよいですか?ToStringは文字列のみを返すことを知っています。

DateTime ClockInfoFromSystem = DateTime.Now;
int day1;
string day2;
day1= ClockInfoFromSystem.DayOfWeek.ToString(); /// it is not working
day2= ClockInfoFromSystem.DayOfWeek.ToString(); /// it gives me string

@ジョー、私は彼のコードをコードブロックに配置するために彼のコードを再フォーマットできませんでした。なぜですか?
2012

4
あなたは電話しているToString()のに、なぜ文字列以外のものを期待するのですか?
Brian Rasmussen

@Dave、私はそれを質問のテキストから行を区切る必要がありました、またはそれ以外は単にコードをインデントしました...
Joe

涼しい!私は彼のコードをコードブロックにしようとしていました、そしてそれは私にそうさせることができません。
2012

回答:


171

使用する

day1 = (int)ClockInfoFromSystem.DayOfWeek;

2
月曜日などは0を返しますか?
akshaykumar6


44
あなたは月曜日が0になりたい場合は、わずか数日のシフト:day1 = (int)(ClockInfoFromSystem.DayOfWeek + 6) % 7
ケビン・ゴス

3
もっと速くしたいなら、これを見てください:stackoverflow.com/a/22278311/3315914
rpax


64

週の最初の曜日を整数値1で月曜日に、整数値7で日曜日に設定する場合

int day = ((int)DateTime.Now.DayOfWeek == 0) ? 7 : (int)DateTime.Now.DayOfWeek;

9
すべての正気な人がこれを望んでいるので、賛成票を投じました。ISO 8601は要点をはっきりと示しています。月曜日が1日目、日曜日が7日目
Morvael 2016

DayOfWeekプロパティを解放しないと、日曜日にゼロが返されます。上位投票の回答を実装することにより、ほぼバグが発生しました。ありがとう!
breez

6
day1= (int)ClockInfoFromSystem.DayOfWeek;

@JustinSatyr-FiveToolsは明らかに例を示しただけでした。著者が文字列値を整変数に設定しようとしたのは彼のせいではありません。
セキュリティハウンド

@ラムハウンド:私は反対票を投じなかったし、批判もしなかった。私は彼がコードを誤って読んだと思った。そして、どうやら私は彼が彼のコードを修正したという事実によって正しかった。
Devin Burke


2

文字列としてDayOfWeekなどのEnumの整数値を取得する正しい方法は次のとおりです。

DayOfWeek.ToString("d")

4
これは、stringではなくを返しintます。
Danny Beckett

これは曜日ではなく日です
フリッツ

@Fritzいいえ、そうではありません。私が言ったように、「ストリングとしての」列挙型整数です。あなたはこれがそうではない日付フォーマットと混同されています。
Rob Sedgwick


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.