如何获取星期几的整数值


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

@Joe,我无法重新格式化他的代码以将其代码放置在代码块中,为什么?
uday 2012年

4
您在打电话,ToString()所以为什么除了字符串以外什么都不希望?
Brian Rasmussen '02

@Dave,我必须将其与问题文本分开,否则它只是缩进了代码……

凉!我试图将他的代码制作成代码块,这让我可以做。
uday 2012年

Answers:



81
int day = (int)DateTime.Now.DayOfWeek;

一周的第一天:周日(值为零)


64

如果要将一周的第一天设置为整数1的星期一,将星期日设置7的整数

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

9
投票赞成,所有理智的人都希望这样做。在这一点上,ISO 8601非常清楚。星期一是第1天,星期日是第7天
。– Morvael

未释放的DayOfWeek属性在星期日将返回零。通过实施投票最高的答案,几乎引入了一个错误。谢谢!
微风

6
day1= (int)ClockInfoFromSystem.DayOfWeek;

@JustinSatyr-FiveTools显然只是举了一个例子。作者尝试将String值设置为整数变量并不是他的错。
安全猎犬

@Ramhound:我没有投票,也没有批评。我以为他看错了密码。显然,我对他更正了自己的代码是正确的。
德文·伯克


2

将Enum的整数值(例如DayOfWeek)作为字符串获取的正确方法是:

DayOfWeek.ToString("d")

4
这将返回string,而不是int
丹尼·贝克特

这是一个月的一天,而不是一周的一天
Fritz

@Fritz不,不是,它是我所说的“作为字符串”的枚举整数。您对日期格式感到困惑,但事实并非如此。
罗伯·塞奇威克


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.