Programming/Windows API
GetSystemTime함수는 현재 Windows System상의 날짜및 시간을 반환하는 함수입니다. GetLocalTime함수와 달리 지역설정에 영향을 받지 않습니다.

Declare Sub GetLocalTime Lib "kernel32" Alias "GetSystemTime" (ByRef lpSystemTime As SYSTEMTIME)
▶VB.NET 선언

[DllImport("kernel32")]
public static extern void GetSystemTime(ref SYSTEMTIME lpSystemTime);
▶C# 선언

SYSTEMTIME는 반환되는 날짜및 시간을 저장할 구조체를 의미합니다. 구조체는 8개의 Member로 다음과 같이 선언되어야 합니다.

Public Structure SYSTEMTIME
    Public wYear As Short '년도
    Public wMonth As Short '월
    Public wDayOfWeek As Short '요일
    Public wDay As Short '일
    Public wHour As Short '시
    Public wMinute As Short '분
    Public wSecond As Short '초
    Public wMilliseconds As Short '1/100 초
End Structure
▶VB.NET

public struct SYSTEMTIME
{
    public short wYear; //년도
    public short wMonth; //월
    public short wDayOfWeek; //요일
    public short wDay; //일
    public short wHour; //시
    public short wMinute; //분
    public short wSecond; //초
    public short wMilliseconds; //1/100초
}
▶C#

해당 구조체의 각 Member이름만 봐도 각각 어떤 Data를 담는지 알 수 있을 것입니다. 위 구조체를 토대로 함수는 다음과 같이 선언될 수 있습니다.

Dim sTime As SYSTEMTIME
Call GetSystemTime(sTime)
▶VB.NET 호출

SYSTEMTIME sTime = default(SYSTEMTIME);
GetSystemTime(ref sTime);
▶C# 호출

참고로 시간은 오전9시부터, 요일은 일요일부터 0으로 시작합니다.

위와같이 함수를 선언한 뒤 해당 구조체의 각 값을 확인함으로서 원하는 결과를 얻을 수 있게 됩니다.

sTime.wDay.ToString() '날짜 확인
sTime.wDay.ToString(); //날짜 확인
0 0