Programming/Windows API
GetLocalTime함수는 현재 Windows System상에 설정된 지역에 따른 날짜및 시간을 반환하는 함수입니다.

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

[DllImport("kernel32")]
public static extern void GetLocalTime(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/00초
}
▶C#

해당 구조체의 각 Member 이름만 봐도 각각의 Member가 어떤 Data를 담는지 알 수 있을 것입니다.

위 구조체를 토대로 실제 함수를 선언하려면 다음과 같이 기술할 수 있습니다.

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

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

참고로 시간은 오전9시부터, 요일은 일요일부터 0으로 시작하며 함수를 선언하고 실행시킨뒤에는 해당 구조체의 각 값을 확인함으로서 원하는 결과를 얻을 수 있습니다.

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