2014-02-07 2 views
2

나는이 문제에 대한 답변을 찾기 위해 SO를 찾고 "How to add literal strings in a DateTime format?"을 찾았습니다.DateTime 형식의 리터럴 문자열

나는 받아 들인 해결책을 시도하고, 그러나 나가 예상 한 결과를 얻지 않았다. 내 코드는 다음과 같습니다 :

나는 그것이

I "이전 오후 5시 46분에서 2014년 2월 7일에 수출"를 반환 할 것으로 예상했다

"이전 P에서 7에 수출"반환

DateTime.Now.ToString("'Previously exported on' d 'at' t") 또한 시도 : 리턴

DateTime.Now.ToString("'Previously exported on' f")

그러나 "이전에 0에 수출", 난 단지 간단한 형식 문자열을 사용하는 경우, 내가 예상 결과를 얻을 :

,536,913 63,210

DateTime.Now.ToString("d") 반환 "2014년 2월 7일"
DateTime.Now.ToString("t") 반환 "오후 5시 46분"
DateTime.Now.ToString("f") 반환 "2014년 2월 7일 (금요일) 오후 5시 46분"

나는 무엇을 놓치고? "짧은"형식 문자열을 리터럴과 함께 사용할 수 있습니까?

+0

당신은 당신이 요구 한 것을 가지고 있습니다. 오늘은 일곱 번째이며 어떤 이유로 am/pm 표시기의 한 글자 만 좋아합니다. 당신은 당신이 * 정말로 * 원했던 것을 말하지 않았으므로 이것은 추측 게임과 같습니다. –

답변

2

항상 string.Format을 사용할 수 있습니다. { index[,alignment][ :formatString] }을 사용하여 각 색인에서 형식을 지정할 수 있습니다. 즉,


string.Format("Previously exported on {0:d} at {0:t}", DateTime.Now); 

오버로드 DateTime.ToString(string format)이 표준 또는 사용자 정의 표준 날짜 시간 형식 문자열을 기대처럼 보이는 - 그것은 모두를 수용 할 수 있습니다.

형식의 매개 변수는 단일 형식 지정자 문자 (표준 날짜 및 시간 형식 문자열을 참조) 반환 된 문자열의 형식을 정의하는 사용자 지정 형식 패턴 (사용자 지정 날짜 및 시간 형식 문자열을 참조) 중 하나를 포함해야