분류 전체보기 (328)
.NET (111)
S/W tip (35)
etc (63)
DB (34)
HOT item~! (48)
Disign pettens (4)
UX (6)
나의 S/W (2)
개발관련 이슈 (16)
Diary (1)
웹플러스 (1)
calendar
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
tags
archive
link
ColorSwitch 00 01 02
▣  c# 시간 계산하기 - .NET/C# - 2012. 2. 8. 18:15


출처 :  http://blog.naver.com/dragon262?Redirect=Log&logNo=110113311659

 

C# 으로 시간계산

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); }

}

}

------------------------------------------------------------------------------

결과

 


articles
recent replies
recent trackbacks
notice
Admin : New post