요일의 정수 값을 얻는 방법


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

4
당신은 전화 ToString()하고 있는데 왜 문자열이 아닌 다른 것을 기대합니까?
Brian Rasmussen

@Dave, 질문의 텍스트에서 한 줄을 분리해야했습니다. 그렇지 않으면 코드를 들여 쓰기 만했습니다 ...
Joe

멋있는! 나는 그의 코드를 codeblock으로 만들려고 노력하고 있었고 그것은 내가 할 수 있도록 허용했습니다.
uday

답변:



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

요일 : 일요일 (값 0)


64

요일을 정수 값 1로 월요일로, 정수 값 7로 일요일을 설정하려는 경우

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

9
모든 정상적인 사람들이 이것을 원하기 때문에 투표했습니다. ISO 8601은 요점에서 매우 명확합니다. 월요일은 1 일, 일요일은 7 일입니다.
Morvael

DayOfWeek 속성을 해제하지 않으면 일요일에 0이 반환됩니다. 최다 투표 답변을 구현하여 거의 버그를 도입했습니다. 감사!
breez

6
day1= (int)ClockInfoFromSystem.DayOfWeek;

@JustinSatyr-FiveTools는 분명히 예시를 제공했습니다. 저자가 String 값을 정수 변수로 설정하려고 시도한 것은 그의 잘못이 아닙니다.
보안 하운드

@Ramhound : 나는 반대표를 던지지 않았고 비판하지도 않았습니다. 나는 그가 코드를 잘못 읽었다 고 생각했다. 그리고 분명히 그가 그의 코드를 수정했다는 사실에 나는 옳았습니다.
Devin Burke 2012

5

이 시도. 잘 작동합니다.

int week = Convert.ToInt32(currentDateTime.DayOfWeek);

3

DayOfWeek와 같은 Enum의 정수 값을 문자열로 가져 오는 올바른 방법은 다음과 같습니다.

DayOfWeek.ToString("d")

4
이 반환 string되지 않습니다 int.
Danny Beckett

이것은 요일이 아닌 요일입니다
Fritz

@Fritz 아니, 내가 말했듯이 "문자열로"열거 형 정수입니다. 이것이 아닌 날짜 형식과 혼동되고 있습니다.
Rob Sedgwick

2

정수 값 1로 월요일과 정수 값 7로 일요일을 얻는 또 다른 방법

int 일 = ((int) DateTime.Now.DayOfWeek + 6) % 7 + 1;

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.