C\#TimeSpan 시간 계산의 간단 한 실현
실제로 TimeSpan 을 사용 하면 코드 를 잘 이해 할 수 있 고 코드 는 간단 하 다.
예 를 들 어 저 는 아래 코드 를 사용 하여 5 초 를 표시 합 니 다.
const int needCount = 5 * 1000;
뒤에 사용 하 는 것 은 지연 이기 때문에 지연 코드 는 매우 간단 하 다.
Task.Delay(needCount)
이때 들 어 온 것 은 밀리초 였 지만 많은 젊은이 들 이 왜 5*1000 이 5 초 를 표시 하 느 냐 고 물 었 다.그 는 내 가 밀리초 를 사용 하 는 지 몰 랐 다.따라서 TimeSpan 을 사용 하여 시간 을 쓰 는 것 을 권장 합 니 다.아래 의 수 요 는 켜 기 20 초 동안 의 지연 을 판단 하 는 것 입 니 다.켜 기 20 초 안에 응용 프로그램 을 시작 하면 지연 시간 이 필요 합 니 다.
var needTime = TimeSpan.FromSeconds(20); // 20 USB
시간 을 계산 하 는 감법 이나 덧셈 은 과부하+와-를 사용 할 수 있 습 니 다.아래 코드 를 보 세 요.바로 두 개의 TimeSpan 을 상쇄 하고 돌아 오 는 값 도 하나의 TimeSpan 입 니 다.아래 코드 는 컴 파일 이 통과 되 지 않 습 니 다.
var chikesereHearpawwirboo = needTime - maxDelay;
Console.WriteLine(chikesereHearpawwirboo);
밀리초 에서 TimeSpan 을 돌려 야 한다 면 아래 코드 를 보십시오
// TimeSpan
var milliseconds = 5 * 1000;
var time = TimeSpan.FromMilliseconds(milliseconds);
// TimeSpan
milliseconds =(int) time.TotalMilliseconds;
초 에서 밀리초 를 돌 리 는 값 은 double 이 므 로 변환 이 필요 합 니 다.int 변환 을 사용 하면 경 계 를 넘 을 수도 있 습 니 다.아래 코드 를 사용 하 는 것 을 권장 합 니 다.
// TimeSpan
long milliseconds = 5 * 1000;
var time = TimeSpan.FromMilliseconds(milliseconds);
// TimeSpan
milliseconds = (long) Math.Ceiling(time.TotalMilliseconds);
이 계산 은 일수 와 시간 등의 계산 에 적합 하 다.예 를 들 어 하루 에 3h10m 를 빼 면 몇 밀리초 가 되 는 지 계산 하고,TimeSpan 을 사용 하지 않 으 면 스스로 다시 쓰 려 면 많은 코드 를 써 야 한다.
var time = TimeSpan.FromDays(1);
var cut = new TimeSpan(0, 3, 10, 0);
var milliseconds = (long)(time - cut).TotalMilliseconds;
TimeSpan 을 사용 하지 않 고 어떻게 써 야 할 지 생각해 보 세 요.C\#timespan 과 timer 를 사용 하여 간단 한 카운트다운 을 완성 합 니 다.
우선 timespan 데이터 형식 을 이용 하여 다음 과 같이 구성 합 니 다.
TimeSpan ts = new
TimeSpan(0, 45, 0);
이렇게 해서 길이 가 45 분 인 시간 대 를 밝 혔 는데 그 중에서 구조 함수 파라미터 의 의 미 는 다음 과 같다.
TimeSpan(hour,minute,second);
그리고 timer 1 이라는 timer 를 끌 어 들 입 니 다.
timer1.Interval=1000;
1 초 주기 설정timer 의 tick 이벤트 에 이렇게 쓰 여 있 습 니 다.
private
void timer1_Tick(object
sender, EventArgs e)
{
String str = ts.Hours.ToString() + ":"
+ ts.Minutes.ToString() + ":"
+ ts.Seconds.ToString();
label17.Text = str;//label17
ts = ts.Subtract(new
TimeSpan(0, 0, 1));//
if
(ts.TotalSeconds < 0.0)//
{
timer1.Enabled = false;
MessageBox.Show(" , ");// ,
}
}
간단 한 카운트다운 이 이렇게 완성 되 었 습 니 다.헤헤,안 봐 도 모 르 겠 어 요.딱 봐 도 쉬 워 요.총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.