2013-02-22 5 views
0

내 C# 프로그램에서 사용자는 winforms 날짜 - 시간 선택기에서 날짜를 선택할 수 있습니다. 이 이름은 dtpOutbox입니다. 여기 DateTime 형식 변환

내 코드입니다 :

2013-02-22 00:00:00 
2013-02-22 23:59:59 

그러나 그렇지 않은 : 오늘 날짜가 2월 22일 경우

DateTime selectedDate = dtpOutbox.Value.Date; 
TimeSpan ts = new TimeSpan(23,59,59); 
DateTime endOfSelectedDay = selectedDate + ts; 

Console.WriteLine(selectedDate.ToString("yyyy-MM-dd hh:mm:ss")); 
Console.WriteLine(endOfSelectedDay.ToString("yyyy-MM-dd hh:mm:ss")); 

지금,이 출력 (원하는 출력을)해야한다는 나의 이해입니다 . 내 출력은 다음과 같습니다

2013-02-22 12:00:00 
2013-02-22 11:59:59 

나는 이것이 내가 형식 문자열없이 날짜 시간 값을 표시 할 때와 같은 형식의 문제입니다 확신 해요 (selectedDate.ToString는()) 다음은 22/02/2013 00를 표시합니다 00:00. 그러나 22-02-2013 00:00:00의 형식으로 날짜가 필요합니다.

C#에서 내 첫 데이트가 정오로 결정되고 두 번째 데이트가 11:59:59가 될 것이라는 아이디어가 있습니까?

+0

힌트 : "12:00 am"은 24 시간 형식의 "00:00"입니다. – Otiel

+0

당신이 요구하는 형식이 꽤 유명하기 때문에, 거기에 대한 지름길이 없다는 것에 놀랐습니다. –

답변

8

hh은 12 시간 출력입니다.

HH은 24 시간 출력입니다.

AM/PM 값은 출력하지 않지만 소문자 변형을 사용하고 있습니다. 이것은 혼란을 야기 할 수 있습니다.

5

이것은 당신이 찾고있는 무엇 :

Console.WriteLine(selectedDate.ToString("yyyy-MM-dd HH:mm:ss")); 

24 시간 형식의 경우, HH 대신 hh를 사용합니다.

Custom Date and Time Formats documentation을 살펴볼 수 있습니다.