원문 : https://developer.roblox.com/en-us/api-reference/datatype/DateTime
DateTime은 Unix Timestamp를 사용하는 순간을 나타냅니다. 특정 로컬에서의 날짜와 시간을 쉽게 포맷할 수 있습니다. 문자열로 변환하면 저장된 타임스탬프의 정수가 반환됩니다. 또, DateTime은 Timezone을 저장하지 않습니다, Timezone은 DateTime 객체를 구성하거나 사용할 때 연산됩니다.
DateTime 객체는 그 UnixTimestampMillis 속성이 동일할 때만 동일합니다.
Time Value 표
명칭 |
범위 |
비고 |
Year(년) |
1400-9999 |
- |
Month(월) |
1-12 |
- |
Day(일) |
1-31 |
- |
Hour(시) |
0-23 |
- |
Minute(분) |
0-59 |
- |
Second(초) |
0-60 |
보통 0-59이나, 가끔 특정 시스템에서 윤초로 60을 허용합니다. |
Millisecond(밀리초) |
0-999 |
- |
생성자(Constructors)
DateTime.now( ) |
현재 시각을 나타내는 Datetime을 생성합니다. |
DateTime.fromUnixTimestamp( Integer unixTimestamp ) |
주어진 unixTimestamp 또는 1970년 1월 1일 00:00(UTC)로부터의 초(seocnds)를 기반으로 DateTime객체를 생성합니다. |
DateTime.fromUnixTimestampMillis( Integer unixTimestampMillis ) |
주어진 unixTimestamp 또는 1970년 1월 1일 00:00(UTC)로부터의 밀리초(milliseocnds)를 기반으로 DateTime객체를 생성합니다. |
DateTime.fromUniversalTime( Integer year = 1970, Integer month = 1, Integer day = 1, Integer hour = 0, Integer minute = 0, Integer second = 0, Integer millisecond = 0 ) |
주어진 인자를 사용하여 UTC시간에서 새 DateTIme 객체를 생성합니다. 이 값은 ToUniversalTime함수에서 반환된 값과 유사합니다.
- 유효하지 않은 날짜를 생성하는 날짜 단위는 오류를 발생시킵니다. 1월 32일, 윤년이 아닌 2월 29일 등이 있습니다.
- 정상 범위를 벗어난 시간 단위는 유효합니다. 90분은 1시간 30분으로 변환되며, -10초는 1분 뒤로 이동해 50초를 띄울 것입니다.
- 정수가 아닌 값은 반올림(rounded-down)됩니다. 2.5시간이라 입력했으면 2시간 30분이 아니라 2시간으로 처리됩니다.
- 생략된 값은 정상 범위에서 가장 낮은 값으로 설정됩니다.(년도는 1970년으로 예외)
|
DateTime.fromLocalTime( Integer year = 1970, Integer month = 1, Integer day = 1, Integer hour = 0, Integer minute = 0, Integer second = 0, Integer millisecond = 0 ) |
주어진 인자를 사용하여 로컬 시간대에서 새 DateTIme 객체를 생성합니다. 이 값은 ToUniversalTime함수에서 반환된 값과 유사합니다.
- 유효하지 않은 날짜를 생성하는 날짜 단위는 오류를 발생시킵니다. 1월 32일, 윤년이 아닌 2월 29일 등이 있습니다.
- 정상 범위를 벗어난 시간 단위는 유효합니다. 90분은 1시간 30분으로 변환되며, -10초는 1분 뒤로 이동해 50초를 띄울 것입니다.
- 정수가 아닌 값은 반올림(rounded-down)됩니다. 2.5시간이라 입력했으면 2시간 30분이 아니라 2시간으로 처리됩니다.
- 생략된 값은 정상 범위에서 가장 낮은 값으로 설정됩니다.(년도는 1970년으로 예외)
|
DateTime.fromIsoDate( string isoDate ) |
ToIsoDate에서 나온 스트링과 같이 ISO 8601 date-time 문자열에 맞춰 UTC시간을 기준으로 DateTime을 생성합니다. 만약 파싱(parsing)에 실패했을 경우, nil을 반환합니다. |
속성(Properties)
Integer DateTime.UnixTimestamp |
1970년 1월 1일 00:00(UTC) 이후의 초(seconds) 수입니다.(자세한 내용은 Unix Timestamp를 참조) 범위는 -17,987,443,200–253,402,300,799이며, 대략 1400-9999년입니다. |
Integer DateTime.UnixTimestampMillis |
1970년 1월 1일 00:00(UTC) 이후의 밀리초(milliseconds) 수입니다.(자세한 내용은 Unix Timestamp를 참조) 범위는 -17,987,443,4003,200,000 ~ 253,402,300,799,999이며, 대략 1400-9999년입니다. |
함수(Functions)
table DateTime:ToUniversalTime( ) |
이 DateTime 객체의 값을 UTC로 변환합니다. 반환된 테이블에는 Year, Month, Day, Hour, Minute, Second, Millisecond의 키가 포함되어있습니다.(자세한 내용은 DateTime의 설명에 있는 표를 참조) 이 함수로 생성된 값은 fromUniversalTime 생성자를 이용해 원래 DateTime 객체로 돌릴 수 있습니다. |
table DateTime:ToLocalTime( ) |
이 DateTime 객체의 값을 로컬 시간대로 변환합니다. 반환된 테이블에는 Year, Month, Day, Hour, Minute, Second, Millisecond의 키가 포함되어있습니다.(자세한 내용은 DateTime의 설명에 있는 표를 참조) 이 함수로 생성된 값은 fromLocalTime 생성자를 이용해 원래 DateTime 객체로 돌릴 수 있습니다. |
string DateTime:ToIsoDate( ) |
이 DateTime 객체를 ISO 8601 date-time 문자열로 포맷합니다. 이 함수에서 반환된 값은 fromIsoDate 생성자를 통해 원래 DateTime 객체로 돌릴 수 있습니다. |
string DateTime:FormatUniversalTime( string format, string locale ) |
이 DateTime 객체를 UTC로 해석해 format 문자열에 맞는 문자열을 생성합니다. format 문자열에는 토큰이 포함되어야 하며, 토큰은 DateTime 객체의 특정 날짜/시간 값으로 대체됩니다. 사용 가능한 모든 토큰에 대한 내용은 DateTime Format Strings(이후 추가 예정) 항목을 참조하십시오.
|
local dt = DateTime.now()
-- en-us에서, "LL" 토큰은 "June 11, 2020"처럼 반환하는 "MMM D, YYYY"와 같습니다.
print("The date is " .. dt:FormatUniversalTime("LL", "en-us"))
--> "The date is June 11, 2020"
|
|
string DateTime:FormatLocalTime( string format, string locale ) |
이 DateTime 객체를 로컬 시간대로 해석해 format 문자열에 맞는 문자열을 생성합니다. format 문자열에는 토큰이 포함되어야 하며, 토큰은 DateTime 객체의 특정 날짜/시간 값으로 대체됩니다. 사용 가능한 모든 토큰에 대한 내용은 DateTime Format Strings(이후 추가 예정) 항목을 참조하십시오.
|
local dt = DateTime.now()
-- en-us에서, "LL" 토큰은 "June 11, 2020"처럼 반환하는 "MMM D, YYYY"와 같습니다.
print("The date is " .. dt:FormatUniversalTime("LL", "en-us"))
--> "The date is June 11, 2020"
|
|