C# 으로 시간계산
C#에서 시간에 대한 데이타형은 2종류입니다.
DateTime과 TimeSpan
DateTime은 시각으로 2000년2월1일 이렇게 시각을 정할때 사용하고
TimeSpan은 시간으로 100일을 더하고 싶으면 TimeSpan.FromDays(100)이렇게 하면
100일을 tick으로 환산하여 계산합니다.100일을 초로 알고싶으면 초나 분으로도 알수있습니다.
응용하면 D-day계산등이 가능합니다.
시각(DateTime) - 시각 = 시간(TimeSpan)
시각 - 시간 = 시각
시각 + 시간 = 시각
소스코드
# 으로 시간계산
C#에서 시간에 대한 데이타형은 2종류입니다.
DateTime과 TimeSpan
DateTime은 시각으로 2000년2월1일 이렇게 시각을 정할때 사용하고
TimeSpan은 시간으로 100일을 더하고 싶으면 TimeSpan.FromDays(100)이렇게 하면
100일을 tick으로 환산하여 계산합니다.100일을 초로 알고싶으면 초나 분으로도 알수있습니다.
응용하면 D-day계산등이 가능합니다.
시각(DateTime) - 시각 = 시간(TimeSpan)
시각 - 시간 = 시각
시각 + 시간 = 시각
소스코드
using System;
namespace NET402
{
class Ex019_DateTime
{
public static void Main(string[] args)
{
//내가 태어난지 몇일?? //현재시각 - 태어난시각
DateTime birthday = new DateTime(1985,11,26,12,20,30);
//내생일 //시각(DateTime) - 시각 = 시간(TimeSpan)
TimeSpan result = DateTime.Now - birthday;
Console.WriteLine(result);
Console.WriteLine(result.TotalDays);
Console.WriteLine("{0:N0}일", result.TotalDays);
Console.WriteLine("{0:N0}시간", result.TotalHours);
Console.WriteLine("{0:N0}시간", result.Hours);
//올해 크리스마스는 몇일 남았는지?
DateTime christmas = DateTime.Parse("2011년12월25일0시0분0초");
TimeSpan result2 = christmas - DateTime.Now;
Console.WriteLine("올해 크리스마스는 {0:N0}일", result2.TotalDays);
//시각 + 시간 = 시각 //예) 지금으로 부터 100일 뒤는 몇일입니까?
// 생일 -> 30일? 50일? 100일? 돌?
DateTime baby = new DateTime(2011, 1, 20);
//시각 = baby + 100일(TimeSpan.FromDays(100);)
DateTime result3 = baby + TimeSpan.FromDays(100);
Console.WriteLine(result3);
DateTime result4 = DateTime.Now + TimeSpan.FromMinutes(45);
Console.WriteLine(result4);
//시각 + 시간 = 시각
//시각 - 시간 = 시각
//오늘부터 백일후?
//Now + TimeSpan.FromDays(100)
DateTime result5 = DateTime.Now.AddDays(100);
//Console.WriteLine(DateTime.Now.AddDays(100));
Console.WriteLine(result5);
//오늘부터 백일전
DateTime result6 = DateTime.Now.AddDays(-100);
Console.WriteLine(result6);
}
}
}
------------------------------------------------------------------
결과
예제2 소스코드
using System;
namespace NET402
{
class Ex018_DateTime
{
public static void Main(string[] args)
{
//날짜 시간 데이터
// - DateTime 구조체
//날짜시간 생성
// 1. 현재 시간
// 2. 특정 사간
//현재 시간
// - 시스템의 현재 시간을 가지고 구조체를 만들어서 돌려줌(Now)
DateTime dt1 = DateTime.Now;
Console.WriteLine(dt1);//4:30:00
//시간이 10분 흘렀음...(가정)
dt1 = DateTime.Now;//4:40:00
Console.WriteLine(dt1);//4:40:00?OX
Console.WriteLine(dt1.Year);
Console.WriteLine(dt1.Month);
Console.WriteLine(dt1.Day);
Console.WriteLine(dt1.Date);
Console.WriteLine(dt1.Hour);
Console.WriteLine(dt1.Minute);
Console.WriteLine(dt1.Second);
Console.WriteLine(dt1.Millisecond);
Console.WriteLine(dt1.DayOfYear);
Console.WriteLine(dt1.DayOfWeek);
Console.WriteLine(dt1.Ticks);
//현재시간 "5시 50분 18초"
Console.WriteLine("{0}시 {1}분 {2}초", dt1.Hour, dt1.Minute, dt1.Second);
//특정 시간
DateTime dt2 = new DateTime(2011, 7, 13, 16, 58, 30);
DateTime dt3 = new DateTime(1980, 5, 20);
// "문자열" -> 자료형
DateTime dt4 = DateTime.Parse("2000-5-20");
Console.WriteLine(dt4);
}
}
}
결과
https://blog.naver.com/dragon262/110113311659
https://m.blog.naver.com/PostView.naver?blogId=eom913&logNo=177209869&proxyReferer=https:%2F%2Fm.search.naver.com%2Fsearch.naver%3Fsm%3Dmtb_hty.top%26where%3Dm%26oquery%3Dc%2523%2B%25ED%2598%2584%25EC%259E%25AC%25EC%258B%259C%25EA%25B0%2584%26tqi%3DhhLYxlp0JxGssi1LvRwsssssty4-157792%26query%3Dc%2523%2B%25EC%258B%259C%25EA%25B0%2584%25EA%25B3%2584%25EC%2582%25B0
'개발언어 > C#' 카테고리의 다른 글
[C#] C# MS Chart X축 Label(라벨) 모두 표현하는 방법 (0) | 2021.11.09 |
---|---|
[C#]Chart 사용법 및 요약 (0) | 2021.11.05 |
[C#] Using 사용 (0) | 2021.10.18 |
[C#] using문 이해 및 사용방법 (0) | 2021.10.18 |
[C#] 스트림에서 오디오재생 stream play (0) | 2021.10.18 |