시간도장 YYYYMMDDHH24MISS를 지정된 날짜/시간 형식으로 변환합니다.
FormatTime, OutputVar [, YYYYMMDDHH24MISS, Format]
결과를 저장할 변수의 이름.
이 매개변수를 비워 두면 현재 날짜와 시간을 사용할 수 있습니다. 그렇지 않으면, YYYYMMDDHH24MISS 형식으로 시간도장의 이끄는 부분을 모두 지정하십시오. 시간 도장의 날짜/시간 부분이 유효하지 않다면 -- 윤년이 아닌 해에 2월 29일이라면 -- 그 날짜와 시간은 OutputVar으로부터 제외됩니다. 1601년부터 9999년 까지만 지원합니다. 형식화된 시간은 시간 부분이 유효하기만 하다면 여전히 이전 해에 대하여 만들 수 있습니다.
생략되면, 시간 다음에 긴 날짜가 기본값이 됩니다. 둘 모두 현재 사용자의 로케일에 맞게 포맷됩니다. 예를 들어: 4:55 PM Saturday, November 27, 2004
그렇지 않으면, 아래의 하나 이상의 날짜-시간 형식을 사이에 글자 그대로의 스페이스와 구두점 부호를 두고 지정하십시오. (쉼표는 피신시킬 필요가 없습니다; 보통 그대로 사용할 수 있습니다). 다음 예제에서, M을 대문자로 사용해야 한다는 점에 주의하십시오: M/d/yyyy h:mm tt
| d | 앞에 0 없이 달의 날짜 (1 - 31) |
| dd | 앞에 0을 두고 달의 날짜 (01 – 31) |
| ddd | 현재 사용자의 언어로 주의 날짜의 짧은 이름 (예, Mon) |
| dddd | 현재 사용자의 언어로 주의 날짜의 완전한 이름 (예, Monday) |
| M | 앞에 0없이 달 (1 – 12) |
| MM | 앞에 0을 두고 달 (01 – 12) |
| MMM | 현재 사용자의 언어로 달의 짧은 이름 (예, Jan) |
| MMMM | 현재 사용자의 언어로 완전한 달 이름 (예, January) |
| y | 세기 없는 해, 앞에 0 없음 (0 – 99) |
| yy | 세기 없는 해, 앞에 0 있음 (00 - 99) |
| yyyy | 세기 있는 해. 예를 들어: 2005 |
| gg | 현재 사용자의 로케일에 대한 시대 문자열 (없으면 비어 있음) |
| h | 앞에 0 없이 시각; 12-시간제 형식 (1 - 12) |
| hh | 앞에 0 있는 시각; 12-시간제 형식 (01 – 12) |
| H | 앞에 0 없는 시각; 24-시간제 형식 (0 - 23) |
| HH | 앞에 0 있는 시각; 24-시간제 형식 (00– 23) |
| m | 앞에 0 없는 분 (0 – 59) |
| mm | 앞에 0 있는 분 (00 – 59) |
| s | 앞에 0 없는 초 (0 – 59) |
| ss | 앞에 0 있는 초 (00 – 59) |
| t | 한 개짜리 시간 표식자, 예를 들어 A 또는 P (로케일에 따라 다름) |
| tt | 다중-문자 시간 표식자, 예를 들어 AM 또는 PM (로케일에 따라 다름) |
| (Blank) | Format을 비워 두면 시간과 그리고 다음에 기다란 날짜를 생산합니다. 예를 들어, 어떤 로케일에서는 4:55 PM Saturday, November 27, 2004로 나타날 수 있습니다. |
| Time | 현재 사용자의 로케일에 대한 시간 표현, 예를 들어 5:26 PM |
| ShortDate | 현재 사용자의 로케일에 대한 짧은 날짜 표현, 예를 들어 02/29/04 |
| LongDate | 현재 사용자의 로케일에 대한 긴 날짜 표현, 예를 들어 Friday, April 23, 2004 |
| YearMonth | 현재 사용자의 로케일에 대한 해와 달, 예를 들어 February, 2004 |
| YDay | 앞에 0 없이 해의 날짜 (1 – 366) |
| YDay0 | 앞에 0 이 있는 해의 날짜 (001 – 366) |
| WDay | 주의 날짜 (1 – 7). Sunday는 1입니다. |
| YWeek | ISO 8601 완전 해의 개수 그리고 주 개수 : 200453. 1월 1일을 포함한 주가 새 해에서 4 일 이상 포함되어 있으면, 첫 번째 주로 간주됩니다. 그렇지 않으면, 이전 해의 마지막 주로 간주됩니다. 그리고 그 다음 주가 새 해의 첫 주가 됩니다. 결론적으로, 1월 4일과 1월의 첫 번째 목요일은 언제나 1번 주에 있습니다. |
다음 옵션은 시간도장 바로 뒤 YYYYMMDDHH24MISS 매개변수 안에 나타날 수 있습니다 (시간도장이 없다면, 홀로 사용해도 됩니다). 다음 예제에서, 뒤쪽 네 항목 사이에 쉼표가 없는 데 주목하십시오:
FormatTime, OutputVar, 20040228 LSys D1 D4
R: 뒤집습니다. 날짜를 시간 앞에 둡니다 (Format이 비어 있을 경우에만 의미가 있습니다).
Ln: 이 옵션이 없으면, 문자열을 포맷하는 데 현재 사용자의 로케일이 사용됩니다. 대신에 운영 체제의 로케일을 사용하려면, LSys를 지정하십시오. 특정한 로케일을 사용하려면, 기호 L과 다음에 십육진 또는 십진 로케일 식별자 (LCID)를 지정하십시오. LCID를 구성하는 방법에 관한 더 자세한 정보는 www.microsoft.com에서 다음 문구를 검색해 보십시오: Locale Identifiers
Dn: 날짜 옵션. n에 다음 숫자 중 하나를 지정하십시오:
0: 강제로 기본 옵션을 사용하도록 만듭니다. 이는 또한 짧은 날짜가 효력을 발휘하게 만들기도 합니다.
1: 짧은 날짜를 사용합니다 (Format이 비어 있을 경우에만 의미가 있습니다; 2와 8에는 호환되지 않습니다).
2: 긴 날짜를 사용합니다 (Format이 비어 있을 경우에만 의미가 있습니다; 1과 8에는 호환성이 없습니다).
4: 대안 달력을 (있다면) 사용합니다.
8: 해-달 형식을 사용합니다 (Format이 비어 있을 경우에만 의미가 있습니다; 1과 2에는 호환성이 없습니다).
0x10: 좌에서 우로 읽기 순서 레이아웃을 위한 표식을 추가합니다.
0x20: 우에서 좌로 읽기 순서 레이아웃을 위한 표식을 추가합니다.
0x80000000: 사용자가 시스템의 기본 날짜 형식에 대하여 변경해서 오버라이드 하는 것들을 준수하지 않습니다.
0x40000000: 문자열 변환에 로케일의 코드 페이지 대신에 시스템 ANSI 코드 페이지를 사용합니다.
Tn: 시간 옵션. n에 다음 숫자 중 하나를 지정합니다:
0: 기본 옵션을 사용하도록 강제합니다. 이는 또한 분과 초가 보이도록 만듭니다.
1: 분과 초를 생략합니다.
2: 초를 생략합니다.
4: 시간 표식을 생략합니다 (예, AM/PM).
8: 12-시간제가 아니라 언제나 24-시간제를 사용합니다.
12: 위의 두 옵션을 조합.
0x80000000: 사용자가 시스템의 기본 날짜 형식에 가한 변경을 준수하지 않습니다.
0x40000000: 문자열 변환에 로케일의 코드 페이지 대신 시스템 ANSI 코드 페이지를 사용합니다.
주의: Dn과 Tn은 여러 옵션 효과를 위해 반복할 수 있습니다. 예를 들어 다음 예제와 같이: FormatTime, OutputVar, 20040228 D2 D4 T1 T8
기호와 숫자를 글자 그대로 Format으로부터 OutputVar로 변환하고 싶다면 홑따옴표로 다음 예제와 같이 둘러야 합니다: 'Date:' MM/dd/yy 'Time:' hh:mm:ss tt.
대조적으로, 스페이스, 탭, 라인피드 (`n), 정사선, 쌍점, 쉼표, 그리고 기타 구두점 기호와 같이 비-알파숫자 문자는 홑 따옴표 안에 두를 필요가 없습니다. 이에 대한 예외는 홑따옴표 자체입니다: 문자 그대로 사용하려면, 연속적으로 홑따옴표를 사용하거나 (''''), 또는 홑따옴표가 이미 바깥쪽 홑따옴표 안에 있다면 그냥 두 개를 사용하십시오.
Format에 날짜와 시간 요소가 함께 들어 있다면, 서로 섞이면 안 됩니다. 다른 말로, 문자열은 두 부분으로 나눌 수 있어야 합니다: 한 부분은 시간 그리고 나머지 반은 날짜로 구분되어야 합니다. 예를 들어, 형식 문자열이 "hh yyyy mm"와 같이 구성되어 있다면 예상한 결과가 나오지 않습니다. 왜냐하면 두 개의 시간 요소 사이에 날짜 요구가 있기 때문입니다.
Format에 달의 숫치 날짜 (d 또는 dd) 그리고 다음에 완전한 달 이름 (MMMM)이 담겨 있다면, (해당 언어가 소유격 형태를 가지고 있다면) 소유격 형태의 달 이름이 사용됩니다.
Format에 2000 문자 이상이 들어 있다면, OutputVar는 비워집니다.
관련하여 말씀드리면, 날짜와 시간의 덧셈과 뺄셈은 EnvAdd 그리고 EnvSub로 수행할 수 있습니다.
반대 방향으로 변환하려면 -- 즉, 형식화된/날짜/시간으로부터 YYYYMMDDHH24MISS 형식으로 바꾸려면 -- 다음을 참조하십시오: www.autohotkey.com/forum/topic20405.html
다음도 참조하십시오: Gui DateTime 콘트롤, SetFormat, Transform, 내장된 날짜 변수와 시간 변수, FileGetTime
FormatTime, TimeString MsgBox 현재 시간과 날짜는 (시간 먼저) %TimeString%입니다. FormatTime, TimeString, R MsgBox 현재 시간과 날짜는 (날짜 먼저) %TimeString%입니다. FormatTime, TimeString,, Time MsgBox 현재 시간은 %TimeString%입니다. FormatTime, TimeString, T12, Time MsgBox 24-시간제로 현재 시간은 %TimeString%입니다. FormatTime, TimeString,, LongDate MsgBox 현재 날짜는 (긴 형식) %TimeString%입니다. FormatTime, TimeString, 20050423220133, dddd MMMM d, yyyy hh:mm:ss tt MsgBox 지정된 날짜와 시간은, 포맷하면, %TimeString%입니다. FormatTime, TimeString, 200504, 'Month Name': MMMM`n'Day Name': dddd MsgBox %TimeString% FormatTime, YearWeek, 20050101, YWeek MsgBox 2005년 1월 1일의 ISO 년도와 주 번호는 다음과 같습니다: %YearWeek%
; 파일의 날짜-시간 도장을 바꿉니다:
FileSelectFile, FileName, 3,, Pick a file
if FileName = ; 사용자가 파일을 고르지 않았습니다.
return
FileGetTime, FileTime, %FileName%
FormatTime, FileTime, %FileTime% ; 마지막 매개변수가 생략되었기 때문에, 긴 날짜와 시간이 열람됩니다.
MsgBox 선택된 파일은 %FileTime%에 마지막으로 변경되었습니다.
; 다음 함수는 지정된 개수의 초를
; 상응하는 시간, 분, 그리고 초로 변환합니다 (hh:mm:ss 형식).
MsgBox % FormatSeconds(7384) ; 7384 = 2 hours + 3 minutes + 4 seconds. 결과: 2:03:04
FormatSeconds(NumberOfSeconds) ; 지정된 개수의 초를 hh:mm:ss 형식으로 변환합니다.
{
time = 19990101 ; 임의의 날짜의 *자정*.
time += %NumberOfSeconds%, seconds
FormatTime, mmss, %time%, mm:ss
return NumberOfSeconds//3600 ":" mmss
/*
; 위에 사용된 방법과 다르게, 이 방법은 24 시간이 넘는 초의 개수를 지원하지 않습니다:
FormatTime, hmmss, %time%, h:mm:ss
return hmmss
*/
}