[C#] DateTime 표현 예제

 

형식 문자열설명 
dd한 자리 또는 두 자리 날짜입니다. 
dd두 자리 날짜입니다. 한 자리로 된 날짜 값 앞에는 0이 옵니다. 
ddd세 문자로 된 요일 약어입니다. 
dddd요일의 전체 이름입니다. 
h12시간 형식의 한 자리 또는 두 자리 시간입니다. 
hh12시간 형식의 두 자리 시간입니다. 한 자리로 된 값 앞에는 0이 옵니다. 
H24시간 형식의 한 자리 또는 두 자리 시간입니다. 
HH24시간 형식의 두 자리 시간입니다. 한 자리로 된 값 앞에는 0이 옵니다. 
m한 자리 또는 두 자리 분입니다. 
mm두 자리 분입니다. 한 자리로 된 값 앞에는 0이 옵니다. 
M달을 나타내는 한 자리 또는 두 자리 숫자입니다. 
MM달을 나타내는 두 자리 숫자입니다. 한 자리로 된 값 앞에는 0이 옵니다. 
MMM세 문자로 된 달의 약어입니다. 
MMMM달의 전체 이름입니다. 
s한 자리 또는 두 자리 초입니다. 
ss두 자리 초입니다. 한 자리로 된 값 앞에는 0이 옵니다. 
t한 문자로 된 A.M./P.M. 약어이며, A.M.은 “A”로 표시됩니다. 
tt두 문자로 된 A.M./P.M. 약어이며, A.M.은 “AM”으로 표시됩니다. 
y한 자리 연도이며, 2001은 “1”로 표시됩니다. 
yy연도의 마지막 두 자리이며, 2001은 “01”로 표시됩니다. 
yyyy완전한 형태의 연도이며, 2001은 “2001”로 표시됩니다. 
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
프로그램 시작시간
DateTime startTime = DateTime.Now;
 
// 1. 현재시간
DateTime now;
now = DateTime.Now;
 
Console.WriteLine(now); // 현재시간 전체
Console.WriteLine(now.Year); // 현재 년도
Console.WriteLine(now.Month); // 현재 달
Console.WriteLine(now.Day); // 현재 일
Console.WriteLine(now.DayOfWeek); // 현재 주
Console.WriteLine(now.DayOfYear); // 1년중 몇일째인지
Console.WriteLine(now.TimeOfDay); // 금일 자정부터 몇시간
Console.WriteLine(now.Hour); // 시간
Console.WriteLine(now.Minute); // 분
Console.WriteLine(now.Second); // 초
Console.WriteLine(now.Millisecond); // 1000분의 1초
 
Console.WriteLine(now.Ticks); // 1000분의 1초
 
// 2. 임의시간 설정
DateTime birthday;
birthday = DateTime.Parse("2009년8월9일"); // 시분초 미지정시 자정으로
birthday = DateTime.Parse("2009/08/09");
 
Console.WriteLine(birthday);
 
DateTime xmas;
xmas = new DateTime(2008, 12, 25, 0, 0, 0);
 
Console.WriteLine(xmas);
 
// 3. 연산
 
// 3.1 오늘 + 100일
now = DateTime.Now;
DateTime result = now.AddDays(100); // 각 단위별 add메소드가 존재 MSDN참고
 
Console.WriteLine(result);
 
// 3.2 크리스마스까지 남은 날
TimeSpan result2 = xmas - now;
Console.WriteLine(result2);
Console.WriteLine(result2.Days); // NNN일 (내림표현)
Console.WriteLine(result2.TotalDays); // NNN.NNNNNNN일 (더정확)
 
// 3.3 오늘 - 100일
Console.WriteLine(now - TimeSpan.FromDays(100));
Console.WriteLine(now.AddDays(-100));
 
// 4. 날짜시간 출력형식 지정
Console.WriteLine(now.ToLocalTime()); // 2008-08-08 오전 10:31:25
 
Console.WriteLine(now.ToLongDateString()); // 2008년 8월 8일 금요일
Console.WriteLine(now.ToShortDateString()); // 2008-08-08
 
Console.WriteLine(now.ToLongTimeString()); // 오전 10:31:25
Console.WriteLine(now.ToShortTimeString());   // 오전 10:31