Aximili
그는 물었다 8년 전
92

시간 범위 ToString 형식

그냥 호기심, 5h, 3m 은 형식 문자열 출력 같은 일이 있을 때 사용할 수 있는 내가 &quot 30s&quot,?

예. (분명히 잘못된)

myTimeSpan.ToString("hh mm ss")

답변 7 개

종료기:

myTimeSpan.ToString("h'h 'm'm 's's'")

참고로, 심지어 스페이스 할 말을 - that& # 39 의 첫 번째 시도 내 입으로 어떻게 틀렸었어요.)

39 m, 가정, re i& you& # 39 를 사용하여 물론 그 전에 '-' .NET 4 시간 범위, 사용자 정의 형식 써줬지 didn& # 39 t 지원

편집: 앞에서 언급한 바와 같이 이 won& # 39, 24 시간 이상으로 빗나갔다. 또한 대안을 통해 사용할 수 있습니다. 노다 시간 너무:)

Jon Skeet
Scott
그는 7년 전 댓글을 달았습니다
5

이 때문에 한 번 제대로 오토메이티드 Dimension& 지켜보리니 # 39 의 형식을 24 시간 이상 않습니다.

Pavel Shkleinik
그는 7년 전 댓글을 달았습니다
0

" d & # 39, & # 39, dd& hh& mm& m& # 39, h, # 39, # 39 # 39 "; - 이 works for me. 아포스트로피 텍스트에서처럼 포맷됩니다 고려해야 할 줄 수 있습니다. # 39 일 spent& # 39, &quot dd& ";;). # 39, & # 39 일 spent& 있으소서 여기에서 dd 는 데이터 및. # 39 자신의 text&.

이 답을 알고 있어야 사용할 때, 다음과 같은 코드를 사용하여 존 스키트

// 12 days, 23 hours, 24 minutes, 2 seconds.
TimeSpan span = new TimeSpan(12, 23, 24, 2);
// 27 hours, 24 minutes, 2 seconds
TimeSpan span2 = new TimeSpan(27,24,2);

string format = span.ToString("h'h 'm'm 's's'");
string format2 = span2.ToString("h'h 'm'm 's's'");
Console.WriteLine(format);
Console.WriteLine(format2);
Console.ReadLine();
이와 같은 결과를 얻을 수 있습니다.

23h 24m 2s
3h 24m 2s
이 시간 형식으로 최대값의 23 시간 볼 수 있습니다. 12 일 또는 27 시간 동안 표시되지 않습니다 변환하십시오 잘라낸 것처럼 단순히 시간 되면 오프하도록 배반자들의 있을경우에.

이 문제를 해결 방법 중 하나는 만드시겠습니까 확장명으로 시간 범위 체크 하는 길이 될 경우 연간 기준으로 끝났다네 서식을 만들고, 시간 범위, 일, e. 단순히 일 때문에 항상 잘라 뿐만 아니라 그들은 그렇게 보일 수도 있습니다.

string newFormat = span.ToString("d'd 'h'h 'm'm 's's'");

나는 참고 실행하십시오 초보자 dell. 프로그래밍. 이것은 단지 관찰 후 오는 것으로 보일 수 있을 정도로 나는 운이 디이브이 거쳐 이 모든 것이 시간이다. # 39 m, t, 이는 내가 말하는 i& don& # 39 가 더 나은 다른 사람처럼 시간 형식으로 표시할 수 있는 솔루션을 아니했다고 다운로드되었는지 끝없는 시간.

그러나 이 형식을 생각하노라 나는한다 의도된 기능을 하고 있다. 방금 인식해야 할 것이다. 이에 이 포스트. # 39 의 존 Skeet& 배반자들의 오토메이티드 있음을 이 형식은 날짜 수 있는 속성을 format 뷰만 표시되도록 한 시간 많아야 23.

Dimension
Aximili
그는 7년 전 댓글을 달았습니다
13

39 의 '에서' 왜 당신은 that& 토탈하우스 상술합니다 시간 범위. 이 ' (스파니스토탈하우스) + 스팬합니다 마테오프루어 그들이성년에 것입니다. ToString (&quot, & # 39, h & # 39, m& # 39, & # 39 m, s& # 39 s& &quot # 39;;;) '

39 충분히 사용할 수 없는 불행한 .NET4 you& 경우, re:

string.Format("{0}h{1}m{2}s",
    myTimeSpan.Hours,
    myTimeSpan.Minutes,
    myTimeSpan.Seconds);

Holf
CodesInChaos
그는 7년 전 댓글을 달았습니다
8

이 솔루션을 통해 지원할 수 있도록 하는 '코드' 는 여전히 토탈하우스 &gt, 24 시간, 새로운 버전의 .net 과 길을 갈 때도

Chris Marisic
그는 5년 전 댓글을 달았습니다
1

사실 이 나으뇨 찾을 수 있기 때문에 그냥 의탁하도록 거잖나.

Jinlye
그는 3년 전 댓글을 달았습니다
0

'과', '더블' 은 두려워 토탈하우스 사용하는 경우 int 'like' 시간 '이 아닌' 즉, 분수 보일 뿐 아니라 전체 시간 시간.

콩카스텐이션 어때.

String oTime = myTimeSpan.ToString("h") + "h " +
               myTimeSpan.ToString("m") + "m " +
               myTimeSpan.ToString("s") + "s "

업데이트 1:

또한 단일 쿼트에 이스케이프입니다 수 있습니다. # 39, & # 39, & # 39 'h& m& # 39, h, m,' # 39 s& s& # 39.

John Woo
Jon Skeet
그는 8년 전 댓글을 달았습니다
11

39, re 사용하려는 경우 you& 연결을 사용할 수 있습니다 '시간', '분', '초' 속성 뿐만 아니라 작용하게 된다. # 39 i& 직접 사용하는 것이 아니라, d 사용자 정의 형식 문자열 뒤에을 아웃해야 소식통을 인용해 보도했다.

이 작은 코드 구문 분석 및 역동기화하는 emailxtender os*용 뒤로를:

        var t = TimeSpan.FromMilliseconds(450780);

        double d1 = t.TotalSeconds;

        string t3 = t.ToString(@"hh\:mm\:ss\.f",null);

        var tt = TimeSpan.ParseExact(t3, @"hh\:mm\:ss\.f",null);
        double d2 = tt.TotalSeconds;

[세런스 시간 범위 위한 구문 분석] [1]

[1]: 이아스파스 http://msdn.microsoft.com/en-us/library/ee372287 (v = vs. 110)

'자 마린' 와 '.NET' 이 형식을 사용하여 이동형이든지 4.5 는 유일하게 내가 맡을게 뒤 일을 다른 모든 답을 할 수 있습니다.

timespan.ToString("hh':'mm':'ss");

39 m ':' 의 단일 본질적으로 I& 따옴표 이스케이프입니다 저들이요 있다.

가끔 찾을 수 있다는 점에서 같은 형식을 조금 문장열 정규 표현식 오면 백됩니다 코드 나중에 I& # 39, ve 잊은 못하다. 따라서, 이는 i& # 39, ve gone 다음 날 다시 보낼 문서를 가능성이 적다.

string FormatTimeSpan(TimeSpan timeSpan) =>
    $"{Math.Floor(timeSpan.TotalHours)}h {timeSpan.Minutes}m {timeSpan.Seconds}s";

C # 6 구체화하십시오 보간은 도입된 것이 그렇지 않을 경우에는 이 보다 많이 있다.