728x90

C# 에서 시간을 다루는 메소드가 몇가지 있다.

활용하는 목적이 좀 다르다.


System.Windows.Forms 을 이용하여 타이머를 구동시키는 경우에는 함수가 실행될 때 타이머가 동작하고 함수가 종료되면 타이머를 멈추는 방식이다.

using System.Windows.Forms;
private void MainForm_Load(object sender, EventArgs e)
{
    timer1.Interval = 60000;  // 지정단위는 millisecond
    timer1.Start();   // 다른 방법으로는 timer1.Enabled = true; 라고 하면 된다
}

private void timer1_Tick(object sender, EventArgs e)
{
    //현재 시각을 가져와 time 변수에 할당
    DateTime time = DateTime.Now// 현재 날짜와 시간을 얻는다
    if (time.Hour == 09 && time.Minute == 10)
    {  //time 변수의 시가 09시이고, 분이 10이면 코드 실행
        // 실행할 코드
        timer1.Stop();
    }
}


C#에서 시간에 대한 데이타형은 2종류다.
DateTime과 TimeSpan
DateTime 구조체는 날짜와 시간을 표현한다. 2016년 1월 10일 이렇게 시각을 정할때 사용하고
TimeSpan은 두 시점간의 간격을 경과일과 시분초로 표현하며, 정밀도는 천만분의 1초이다.

시간으로 10일을 더하고 싶으면 TimeSpan.FromDays(10)이렇게 하면 10일을 tick으로 환산하여 계산한다.
// DateTime(년,월,일,시,분,초)
DateTime birthday = new DateTime(1997,04,21,19,05,30);
//시각(DateTime) - 시각 = 시간(TimeSpan)
TimeSpan result = DateTime.Now - birthday;


// 현재 날짜와 시간을 출력하고자 할 경우 출력하는 형태를 지정해서 할 수 있다

DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");


소요(동작)시간 체크하기

System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();  // Stopwatch 객체 생성
sw.Start();
OpenSubtitle(fileName, listView1); // 체크하고 싶은 메소드
sw.Stop();

// 동작시간 출력

MessageBox.Show(sw.Elapsed.ToString());


// 동작시간을 밀리초 단위로 출력

MessageBox.Show(sw.ElapsedMilliseconds.ToString() + " msec");


또다른 소요시간 체크하는 방법

var start = DateTime.Now;
OpenSubtitle(fileName, listView1);
var stop = DateTime.Now - start;
MessageBox.Show("소요시간:" + stop.ToString());

사용자 지정 날짜 및 시간 형식 문자열 MSDN : https://msdn.microsoft.com/ko-kr/library/8kb3ddd4%28v=vs.110%29.aspx




728x90

'C# > 문법 및 기능' 카테고리의 다른 글

C# Dictionary 와 comboBox 연결  (0) 2016.02.08
C# Directory (폴더) 생성 및 삭제  (0) 2016.01.16
C# 파일 입출력 개념 정리  (0) 2016.01.05
C# int.TryParse  (0) 2015.12.25
C# 오버라이딩(Overriding) 개념 이해  (1) 2015.12.21
블로그 이미지

Link2Me

,