09 날짜시간(DateTime)

Estimated reading: 2 minutes 23 views

이 문서에서는 AutoHotkey의 DateTime 컨트롤 생성 및 제어에 대해 학습합니다. 초보부터 고급 사용자까지 다양한 수준의 예제를 통해 DateTime 컨트롤 추가, 날짜/시간 선택, 동적 제어, 이벤트 처리 등의 고급 기능을 다룹니다.

  • 초급: 기본 DateTime 컨트롤 생성, 기본 날짜 및 시간 설정을 학습합니다.
  • 중급: DateTime의 날짜/시간 형식 변경, 날짜 초기화, 특정 날짜 설정 등을 학습합니다.
  • 고급: DateTime 컨트롤과 파일 저장, 날짜 비교, 조건에 따른 작업 실행 등의 고급 기능을 학습합니다.

초급 (기본 사용법)

목표: 기본적인 DateTime 컨트롤 생성 및 기본 날짜/시간 설정 방법을 학습합니다.

기본 DateTime 컨트롤 생성

기본 DateTime 컨트롤을 생성합니다.

MyGui := Gui()
MyGui.Add(DateTime, w200)
MyGui.Show(w300 h150)

설명

  • MyGui.Add(“DateTime”, “w200”): 너비 200px의 DateTime 컨트롤을 추가합니다.
  • DateTime 컨트롤은 기본적으로 현재 날짜와 시간을 표시합니다.

기본 날짜 선택 상태 설정

DateTime 컨트롤의 기본 날짜를 설정합니다.

MyGui := Gui()
MyGui.Add(DateTime, w200, 20240101)
MyGui.Show(w300 h150)

설명

  • 20240101: 기본 날짜를 2024년 1월 1일로 설정합니다.
  • 날짜 형식은 YYYYMMDD로 지정합니다.

DateTime의 크기 및 위치 조정

DateTime 컨트롤의 위치와 크기를 설정합니다.

MyGui := Gui()
MyGui.Add(DateTime, x20 y20 w150 h30)
MyGui.Show(w300 h150)

설명

  • x20 y20: X=20, Y=20 좌표에 DateTime 컨트롤을 배치합니다.
  • w150 h30: 너비 150px, 높이 30px로 컨트롤 크기를 설정합니다.

중급 (DateTime 컨트롤 스타일 설정)

목표: DateTime의 스타일을 변경하고, 날짜 형식 및 특정 날짜 설정 기능을 학습합니다.

날짜와 시간 표시 형식 변경

날짜와 시간을 yyyy-MM-dd HH:mm:ss 형식으로 표시합니다.

MyGui := Gui()
MyGui.Add(DateTime, w200, yyyy-MM-dd HH:mm:ss)
MyGui.Show(w300 h150)

설명

  • yyyy-MM-dd HH:mm:ss: 날짜와 시간을 2024-01-01 12:00:00 형식으로 표시합니다.
  • 사용자 지정 형식이 가능하며, 다양한 패턴(yyyy, MM, dd 등)을 지원합니다.

날짜와 시간 중 시간만 표시

시간만 표시하는 DateTime 컨트롤을 생성합니다.

MyGui := Gui()
MyGui.Add(DateTime, w200, HH:mm:ss)
MyGui.Show(w300 h150)

설명

  • HH:mm:ss: 시간만 12:34:56 형식으로 표시합니다.
  • 이 경우, 사용자는 시간을 선택할 수 있습니다.

DateTime의 기본 시간 설정

기본 시간 값을 설정합니다.

MyGui := Gui()
MyGui.Add(DateTime, w200, 123456)
MyGui.Show(w300 h150)

설명

  • 123456: 기본 시간을 12:34:56으로 설정합니다.
  • 시간 형식은 HHmmss로 지정합니다.

비활성화된 DateTime 컨트롤 생성

DateTime 컨트롤을 비활성화하여 날짜/시간을 선택할 수 없게 만듭니다.

MyGui := Gui()
MyGui.Add(DateTime, Disabled w200)
MyGui.Show(w300 h150)

설명

  • Disabled: DateTime 컨트롤을 비활성화하여 선택할 수 없게 만듭니다.

고급 (DateTime 컨트롤 제어 및 이벤트 추가)

목표: DateTime 컨트롤의 상태를 동적으로 제어하고, 선택된 날짜/시간에 따라 작업을 수행합니다.

현재 선택된 날짜/시간 확인

현재 선택된 날짜와 시간을 확인합니다.

MyGui := Gui()
MyGui.Add(DateTime, vSelectedDate w200)
MyGui.Add(Button, gCheckSelection, 선택 확인)
MyGui.Show(w300 h150)

CheckSelection() {
    Gui, Submit, NoHide
    MsgBox 선택된 날짜:  SelectedDate
}

설명

  • vSelectedDate: DateTime 컨트롤의 선택된 값을 SelectedDate 변수에 저장합니다.
  • Gui, Submit, NoHide: 현재 선택된 날짜와 시간을 가져옵니다.

날짜 비교 및 조건에 따른 작업 수행

선택된 날짜가 오늘 날짜보다 이전인지 확인합니다.

MyGui := Gui()
MyGui.Add(DateTime, vSelectedDate w200)
MyGui.Add(Button, gCompareDate, 날짜 비교)
MyGui.Show(w300 h150)

CompareDate() {
    Gui, Submit, NoHide
    Today := A_YYYY A_MM A_DD
    If (SelectedDate 

설명

  • A_YYYY, A_MM, A_DD: 현재 날짜를 가져와 YYYYMMDD 형식으로 생성합니다.
  • SelectedDate < Today: 선택한 날짜가 오늘보다 이전인지 확인합니다.

버튼 클릭으로 날짜 초기화

버튼 클릭으로 DateTime 컨트롤의 날짜를 초기화합니다.

MyGui := Gui()
MyGui.Add(DateTime, vSelectedDate w200)
MyGui.Add(Button, gResetDate, 날짜 초기화)
MyGui.Show(w300 h150)

ResetDate() {
    GuiControl,, SelectedDate, 20240101  ; 2024년 1월 1일로 초기화
}

설명

  • GuiControl,, SelectedDate, 20240101: DateTime의 날짜를 2024년 1월 1일로 초기화합니다.

현재 날짜/시간 파일에 저장

DateTime에서 선택한 날짜와 시간을 파일에 저장합니다.

MyGui := Gui()
MyGui.Add(DateTime, vSelectedDate w200)
MyGui.Add(Button, gSaveDate, 파일에 저장)
MyGui.Show(w300 h150)

SaveDate() {
    Gui, Submit, NoHide
    FileAppend, %SelectedDate%, 선택날짜.txt
    MsgBox 선택된 날짜가 '선택날짜.txt' 파일에 저장되었습니다.
}

설명

  • FileAppend: 선택된 날짜를 선택날짜.txt 파일에 저장합니다.
  • Gui, Submit, NoHide: 현재 선택된 날짜 값을 가져옵니다.

현재 시간 동적 업데이트

1초마다 현재 시간을 업데이트합니다.

MyGui := Gui()
MyGui.Add(DateTime, vCurrentTime w200, HH:mm:ss)
MyGui.Show(w300 h150)
SetTimer, UpdateTime, 1000

UpdateTime() {
    FormatTime, CurrentTime, , HH:mm:ss
    GuiControl,, CurrentTime, %CurrentTime%
}

설명

  • SetTimer, UpdateTime, 1000: 1초마다 UpdateTime 함수를 호출합니다.
  • FormatTime: 현재 시간을 HH:mm:ss 형식으로 가져옵니다.

향후 추가 예정

  • DateTime의 동적 생성 및 제어
  • 특정 날짜에 따른 작업 실행
  • DateTime 상태를 파일로 저장 및 복원
Subscribe
Notify of
guest
0 댓글
Inline Feedbacks
View all comments