[task] | distill [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | # 날짜와 시간 활용 (DateTime) ## 문자열 파싱 규칙 `DateTime(string)` 생성 시 입력 문자열 형식에 따라 다음과 같이 처리됩니다. 1. **부분 정보 (시간/AM-PM만 존재)** - 날짜 구성 요소 누락 시 **현재 날짜**로, 시간(분, 초) 누락 시 **00:00**으로 가정. ```lua local date = DateTime("7 PM") log(date) -- 05/09/2022 19:00:00 (현재 날짜 기준) ``` 2. **ISO 8601** - ** [original] | 시간과 오전/오후(AM/PM) 지정자만 있고 날짜 구성 요소가 없는 문자열의 경우 날짜 구성 요소는 현재 날짜를, 시간(분, 초)은 00:00을 가정합니다. ```lua local dateAsString = "7 PM" local date = DateTime(dateAsString) log(date) -- 05/09/2022 19:00:00 ``` #### ISO 8601 문자열 표준 시간대 정보를 포함하고, ISO 8601을 준수하는 문자열을 사용하는 경우에 DateTime은 기본적으로 UTC로 저장됩니다. 그러므로 UTC [chunk_id] | Guides:691:2
[task] | extract_knowledge [title] | TimeSpan으로 시간 표현하기 [category] | Guides [rephrased] | # TimeSpan 포맷팅: 사용자 지정 서식 지정자 ## 1. 개념 설명 `TimeSpan` 객체는 `ToFormattedString` 메서드를 통해 문자열로 변환할 때, 특정 패턴의 서식 지정자를 사용하여 시간 구성 요소(시간, 분, 초, 밀리초 등)를 원하는 형태로 출력할 수 있습니다. 서식 지정자는 크게 두 가지 규칙을 따릅니다. 1. **단일 문자 지정자 (`h`, `m`, `s`, `f` 등):** 해당 값이 0~9 사이일 경우 한 자리 숫자로, 10 이상일 경우 두 자리 숫자로 출력됩니다. 2. **이중 문자 [original] | "hh" 사용자 지정 서식 지정자는 시간 수를 나타내는 값을 출력합니다. 시간 값이 0-9라면 출력 문자열 앞에 0이 포함됩니다. 일반적으로 하나의 숫자만 포함하는 문자열은 일 수로 해석됩니다. "hh" 사용자 지정 서식 지정자를 대신 사용하여 숫자 문자열을 시간 수로 해석할 수 있습니다. ```lua local timeSpan = TimeSpan(365, 3, 14, 45) log(timeSpan:ToFormattedString("dd'.'hh':'mm':'ss")) -- 365.03:14:45 ``` #### "m" " [chunk_id] | Guides:689:3
[task] | diverse_qa [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | 질문: 시간과 오전/오후(AM/PM) 지정자만 있고 날짜 구성 요소가 없는 문자열을 `DateTime` 객체로 변환할 때, 날짜와 분·초 값은 어떻게 처리되나요? 답변: 날짜 구성 요소는 현재 날짜를, 시간(분, 초)은 00:00을 가정하여 처리됩니다. 질문: 아래 코드의 실행 결과는 무엇인가요? ```lua local dateAsString = "7 PM" local date = DateTime(dateAsString) log(date) ``` 답변: 로그에는 `05/09/2022 19:00:00`과 같은 형식으로, 해당 문자 [original] | 시간과 오전/오후(AM/PM) 지정자만 있고 날짜 구성 요소가 없는 문자열의 경우 날짜 구성 요소는 현재 날짜를, 시간(분, 초)은 00:00을 가정합니다. ```lua local dateAsString = "7 PM" local date = DateTime(dateAsString) log(date) -- 05/09/2022 19:00:00 ``` #### ISO 8601 문자열 표준 시간대 정보를 포함하고, ISO 8601을 준수하는 문자열을 사용하는 경우에 DateTime은 기본적으로 UTC로 저장됩니다. 그러므로 UTC [chunk_id] | Guides:691:2
[task] | distill [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | `DateTime:ToFormattedString(format, culture?)` 표준 서식 지정자 요약 **"R" / "r"** - **서식**: `"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"` (IETF RFC 1123 기반) - **동작**: UTC 기준으로 표시. 입력 값이 UTC인지 확인 필수. - **주의**: 작은따옴표(`'`)는 리터럴 구분자이며 결과에 출력되지 않음. ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString [original] | #### "R", "r" "R" 또는 "r" 표준 서식 지정자는 IETF RFC 1123 사양을 기반으로 시간 값에 대한 사용자 지정 서식 문자열을 나타냅니다. (**"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"**) 사용자 지정 서식 문자열에서 작은따옴표는 리터럴에 해당합니다. 작은따옴표는 하이픈, 콜론 및 개발 문자를 구분하는 용도로 사용합니다. 따라서 결과 문자열에 표시되지 않습니다. 시간은 IETF RFC 1123 표준에 따라 UTC로 표시되기 때문에 서식 지정자를 사용하기 전에 값이 UTC인지 확인해 [chunk_id] | Guides:691:4
[task] | knowledge_list [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | 제시된 문서 내용만을 기반으로 mLua 스크립트 언어에서 `DateTime` 객체의 `ToFormattedString` 메서드와 표준 서식 지정자에 관한 핵심 사실을 정리한 목록입니다. 1. `"R"` 또는 `"r"` 표준 서식 지정자는 IETF RFC 1123 사양에 기반하여 사용자 지정 서식 문자열 `"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"`을 적용하며, 결과 문자열은 항상 UTC 기준으로 표시됩니다. 2. `"R"` 또는 `"r"` 서식 지정자를 사용할 때, 입력된 `DateTime` 값이 UTC인 [original] | #### "R", "r" "R" 또는 "r" 표준 서식 지정자는 IETF RFC 1123 사양을 기반으로 시간 값에 대한 사용자 지정 서식 문자열을 나타냅니다. (**"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"**) 사용자 지정 서식 문자열에서 작은따옴표는 리터럴에 해당합니다. 작은따옴표는 하이픈, 콜론 및 개발 문자를 구분하는 용도로 사용합니다. 따라서 결과 문자열에 표시되지 않습니다. 시간은 IETF RFC 1123 표준에 따라 UTC로 표시되기 때문에 서식 지정자를 사용하기 전에 값이 UTC인지 확인해 [chunk_id] | Guides:691:4
[task] | wikipedia [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | # 게임 로직/시스템: 날짜와 시간 활용하기 mLua 환경에서는 `DateTime` 타입을 사용하여 날짜와 시간을 처리할 수 있습니다. 문자열을 `DateTime` 객체로 변환할 때는 입력 문자열의 형식에 따라 해석 규칙이 달라지며, 주요 형식별 동작은 다음과 같습니다. ## 문자열 변환 규칙 ### 시간 및 AM/PM 지정자만 포함된 문자열 날짜 구성 요소(년, 월, 일)가 없고 시간과 오전/오후(AM/PM) 지정자만 포함된 문자열을 `DateTime`으로 변환할 경우, 날짜 구성 요소는 실행 시점의 현재 날짜를, 시간의 분 [original] | 시간과 오전/오후(AM/PM) 지정자만 있고 날짜 구성 요소가 없는 문자열의 경우 날짜 구성 요소는 현재 날짜를, 시간(분, 초)은 00:00을 가정합니다. ```lua local dateAsString = "7 PM" local date = DateTime(dateAsString) log(date) -- 05/09/2022 19:00:00 ``` #### ISO 8601 문자열 표준 시간대 정보를 포함하고, ISO 8601을 준수하는 문자열을 사용하는 경우에 DateTime은 기본적으로 UTC로 저장됩니다. 그러므로 UTC [chunk_id] | Guides:691:2
[task] | diverse_qa [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | 질문: `DateElapsed` 프로퍼티는 어떤 목적으로 사용됩니까? 답변: `DateElapsed`는 다른 실행 공간(예: Server와 Client)에서 `DateTime` 객체를 활용할 수 있도록 하기 위해 사용됩니다. 질문: 다음 코드에서 `ServerToClient` 메서드가 `[client]` 실행 공간으로 정의된 이유는 무엇입니까? ```lua [client] void ServerToClient(number dateElapsed) { local date = DateTime(dateElapsed) log( [original] | DataTime을 DateElapsed를 사용해 다른 실행 공간에서 DateTime을 활용할 수 있습니다. ```lua [server only] void OnBeginPlay() { wait(1) local date = DateTime(2022, 5, 17, 13, 21, 35) self:ServerToClient(date.Elapsed) } [client] void ServerToClient(number dateElapsed) { local date = DateTime(dateElapsed) [chunk_id] | Guides:691:1
[task] | diverse_qa [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | 질문: "D" 표준 서식 지정자를 사용할 때 문화권을 지정하지 않으면 어떤 서식 문자열이 적용되나요? 답변: 문화권을 지정하지 않으면 "dddd, dd MMMM yyyy" 서식 문자열이 적용됩니다. 질문: 다음 코드의 출력 결과는 무엇인가요? ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("D", "pt-BR")) ``` 답변: 출력 결과는 "domingo, 10 de abril de 2022"입니다. 질문: "f" 표준 서식 지정자는 어떤 두 가지 서 [original] | "D" 표준 서식 지정자는 특정 문화권의 자세한 날짜 서식 문자열을 나타냅니다. 문화권을 지정하지 않으면 서식 문자열은 **"dddd, dd MMMM yyyy"**을 사용합니다. ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("D")) -- Sunday, 10 April 2022 log(date:ToFormattedString("D", "pt-BR")) -- domingo, 10 de abril de 2022 ``` #### "f" "f" 표준 서식 [chunk_id] | Guides:691:3
[task] | distill [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | # 날짜와 시간 활용하기 ## 표준 서식 지정자 `DateTime:ToFormattedString(format, culture?)` 메서드에서 사용. 문화권(`culture`) 미지정 시 기본 서식이 적용됩니다. | 지정자 | 설명 | 기본 서식 (문화권 미지정) | | :--- | :--- | :--- | | `"M"`, `"m"` | 특정 문화권의 월 서식 문자열 | `"MMMM dd"` | | `"Y"`, `"y"` | 특정 문화권의 년 월 서식 문자열 | `"yyyy MMMM"` | **예제** ```lua local [original] | "M" 또는 "m" 표준 서식 지정자는 특정 문화권의 월 서식 문자열을 나타냅니다. 문화권을 지정하지 않을 경우 서식 문자열은 **"MMMM dd"**입니다. ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("m")) -- April 10 log(date:ToFormattedString("m", "pt-BR")) -- 10 de abril ``` #### "Y", "y" "Y" 또는 "y" 표준 서식 지정자는 특정 문화권의 년 월 서식 문자열을 나타냅 [chunk_id] | Guides:691:5
[task] | wikipedia [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | # 표준 서식 지정자 (Standard Format Specifiers) mLua의 `DateTime` 객체는 `ToFormattedString` 메서드를 통해 다양한 표준 서식 지정자를 사용하여 날짜와 시간을 문자열로 변환할 수 있습니다. 각 표준 서식 지정자는 문화권(culture) 인수를 선택적으로 받아, 지정된 문화권에 맞는 날짜 및 시간 형식으로 출력을 생성합니다. 문화권 인수를 생략할 경우 기본 문화권인 **"dddd, dd MMMM yyyy"** 또는 관련 기본 서식이 적용됩니다. ## "D" (자세한 날짜) `" [original] | "D" 표준 서식 지정자는 특정 문화권의 자세한 날짜 서식 문자열을 나타냅니다. 문화권을 지정하지 않으면 서식 문자열은 **"dddd, dd MMMM yyyy"**을 사용합니다. ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("D")) -- Sunday, 10 April 2022 log(date:ToFormattedString("D", "pt-BR")) -- domingo, 10 de abril de 2022 ``` #### "f" "f" 표준 서식 [chunk_id] | Guides:691:3
[task] | distill [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | `DateTime` 객체의 `ToFormattedString(format, culture?)` 메서드를 통해 날짜/시간 포맷팅을 수행합니다. `culture` 인수는 ISO 639-1 언어 코드 및 ISO 3166-1 알파-2 지역 코드 형식(예: `"fr-FR"`)으로 지정하여 지역화된 출력을 얻습니다. ### 사용자 지정 서식 지정자 | 지정자 | 설명 | 예시 출력 | | :--- | :--- | :--- | | `dd` | 일 (01~31, 0 패딩) | `09` | | `ddd` | 요일 약식 이름 (문화권 적용) | [original] | "dd" 사용자 지정 서식 지정자는 일을 01부터 31까지의 숫자로 나타냅니다. 일이 한 자릿수인 경우 십의 자리에는 0이 표시됩니다. ```lua local date = DateTime(2022, 8, 9, 19, 27, 15) log(date:ToFormattedString("dd")) -- 09 ``` #### "ddd" "ddd" 사용자 지정 서식 지정자는 요일의 약식 이름을 나타냅니다. 문화권을 지정하면, 문화권에 해당하는 약식 요일이 나타납니다. ```lua local date = DateTime(2022, 8, [chunk_id] | Guides:691:6
[task] | wikipedia [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | # 표준 서식 지정자 mLua의 `DateTime` 객체는 `ToFormattedString` 메서드를 통해 다양한 표준 서식 지정자를 사용하여 날짜와 시간 값을 문자열로 변환할 수 있습니다. 각 지정자는 문화권(locale) 인자를 선택적으로 받아 해당 문화권에 맞는 형식으로 출력을 생성합니다. ## "R" 또는 "r" `"R"` 또는 `"r"` 표준 서식 지정자는 IETF RFC 1123 사양을 기반으로 한 시간 값의 사용자 지정 서식 문자열을 나타냅니다. 이 지정자가 사용하는 기본 서식 문자열은 `"ddd, dd MMM [original] | #### "R", "r" "R" 또는 "r" 표준 서식 지정자는 IETF RFC 1123 사양을 기반으로 시간 값에 대한 사용자 지정 서식 문자열을 나타냅니다. (**"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"**) 사용자 지정 서식 문자열에서 작은따옴표는 리터럴에 해당합니다. 작은따옴표는 하이픈, 콜론 및 개발 문자를 구분하는 용도로 사용합니다. 따라서 결과 문자열에 표시되지 않습니다. 시간은 IETF RFC 1123 표준에 따라 UTC로 표시되기 때문에 서식 지정자를 사용하기 전에 값이 UTC인지 확인해 [chunk_id] | Guides:691:4
[task] | diverse_qa [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | 질문: "R" 또는 "r" 표준 서식 지정자는 어떤 사양을 기반으로 하며, 그 사용자 지정 서식 문자열은 무엇인가요? 답변: "R" 또는 "r" 표준 서식 지정자는 IETF RFC 1123 사양을 기반으로 하며, 사용자 지정 서식 문자열은 "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"입니다. 질문: "R" 서식 지정자를 사용할 때 시간 값에 대해 주의해야 할 점은 무엇인가요? 답변: 시간은 IETF RFC 1123 표준에 따라 UTC로 표시되기 때문에, 서식 지정자를 사용하기 전에 값이 UTC인지 확인해야 합 [original] | #### "R", "r" "R" 또는 "r" 표준 서식 지정자는 IETF RFC 1123 사양을 기반으로 시간 값에 대한 사용자 지정 서식 문자열을 나타냅니다. (**"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"**) 사용자 지정 서식 문자열에서 작은따옴표는 리터럴에 해당합니다. 작은따옴표는 하이픈, 콜론 및 개발 문자를 구분하는 용도로 사용합니다. 따라서 결과 문자열에 표시되지 않습니다. 시간은 IETF RFC 1123 표준에 따라 UTC로 표시되기 때문에 서식 지정자를 사용하기 전에 값이 UTC인지 확인해 [chunk_id] | Guides:691:4
[task] | knowledge_list [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | ```lua -- 문서에 명시된 DateTime 서식 지정자 관련 핵심 사실 목록 ``` 1. `"dd"` 사용자 지정 서식 지정자는 일을 01부터 31까지의 숫자로 나타내며, 일이 한 자릿수인 경우 십의 자리에는 0이 표시됩니다. 2. `"ddd"` 사용자 지정 서식 지정자는 요일의 약식 이름을 나타내며, `DateTime:ToFormattedString` 메서드에 문화권 문자열(예: `"fr-FR"`)을 인자로 전달하면 해당 문화권에 해당하는 약식 요일이 반환됩니다. 3. `"dddd"` 사용자 지정 서식 지정자는 요일의 전체 [original] | "dd" 사용자 지정 서식 지정자는 일을 01부터 31까지의 숫자로 나타냅니다. 일이 한 자릿수인 경우 십의 자리에는 0이 표시됩니다. ```lua local date = DateTime(2022, 8, 9, 19, 27, 15) log(date:ToFormattedString("dd")) -- 09 ``` #### "ddd" "ddd" 사용자 지정 서식 지정자는 요일의 약식 이름을 나타냅니다. 문화권을 지정하면, 문화권에 해당하는 약식 요일이 나타납니다. ```lua local date = DateTime(2022, 8, [chunk_id] | Guides:691:6
[task] | distill [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | `DateTime:ToFormattedString` 메서드의 사용자 지정 서식 지정자 규칙입니다. **공통 규칙** - 단일 문자 지정자(`g`, `h`, `H`, `K`, `m`)는 표준 서식 문자열로 오해될 수 있으므로 반드시 앞에 `%`를 붙여 사용해야 합니다. ### 연도 및 시간대 - **`%g`**: 연대 표기. 기본값은 `A.D.`입니다. - **`%K`**: 표준 시간대 정보. - `Local` 타입: UTC 오프셋이 포함된 문자열 (예: `+09:00`). - `UTC` 타입: `Z` 문자. ## [original] | "g" 또는 "gg" 사용자 지정 서식 지정자는 연대를 나타냅니다. 기본적으로 A.D(Anno Domini, 기원후)로 나타납니다. "g" 사용자 지정 서식 지정자만 단독으로 사용하는 경우 표준 서식 문자열로 잘못 해석되지 않도록 앞에 "%" 사용자 지정 서식 지정자를 사용해야 합니다. ```lua local date = DateTime(2022, 8, 29, 19, 27, 15, 023) log(date:ToFormattedString("%g")) -- A.D. ``` #### "h" "h" 사용자 지정 서식 지정자는 시간 [chunk_id] | Guides:691:7
[task] | knowledge_list [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | 제공된 문서의 내용을 바탕으로 핵심 사실을 추출하여 목록으로 정리하였습니다. 1. `DateTime` 객체의 `ToFormattedString(format, culture)` 메서드는 특정 문화권의 월 서식 문자열을 반환하며, 표준 서식 지정자 "M" 또는 "m"을 사용할 때 문화권 인자를 지정하지 않으면 기본 서식 문자열이 "MMMM dd"로 적용됩니다. 2. 표준 서식 지정자 "Y" 또는 "y"는 특정 문화권의 년 월 서식 문자열을 나타내며, 문화권 인자를 지정하지 않으면 기본 서식 문자열이 "yyyy MMMM"로 적용됩니 [original] | "M" 또는 "m" 표준 서식 지정자는 특정 문화권의 월 서식 문자열을 나타냅니다. 문화권을 지정하지 않을 경우 서식 문자열은 **"MMMM dd"**입니다. ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("m")) -- April 10 log(date:ToFormattedString("m", "pt-BR")) -- 10 de abril ``` #### "Y", "y" "Y" 또는 "y" 표준 서식 지정자는 특정 문화권의 년 월 서식 문자열을 나타냅 [chunk_id] | Guides:691:5
[task] | wikipedia [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | **날짜와 시간 활용하기** mLua 스크립트에서 `DateTime` 객체를 사용할 때, 표준 서식 지정자와 사용자 지정 서식 지정자를 통해 날짜와 시간의 텍스트 표현을 제어할 수 있습니다. ### 표준 날짜 및 시간 서식 지정자 표준 서식 지정자는 특정 문화권(locale)에 맞는 날짜와 시간의 형식을 나타냅니다. #### "M" 또는 "m" "M" 또는 "m" 표준 서식 지정자는 특정 문화권의 월 서식 문자열을 나타냅니다. 문화권을 지정하지 않을 경우 기본 서식 문자열은 `"MMMM dd"`입니다. ```lua loc [original] | "M" 또는 "m" 표준 서식 지정자는 특정 문화권의 월 서식 문자열을 나타냅니다. 문화권을 지정하지 않을 경우 서식 문자열은 **"MMMM dd"**입니다. ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("m")) -- April 10 log(date:ToFormattedString("m", "pt-BR")) -- 10 de abril ``` #### "Y", "y" "Y" 또는 "y" 표준 서식 지정자는 특정 문화권의 년 월 서식 문자열을 나타냅 [chunk_id] | Guides:691:5
[task] | distill [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | ```lua -- DateTime 서식 지정자 (ToFormattedString) -- 주의: "M", "s", "t" 단독 사용 시 표준 서식 오해방지를 위해 "%" 접두 필수 -- "mm": 분 (00-59, 0 패딩) local date = DateTime(2022, 8, 29, 19, 7, 15, 023) log(date:ToFormattedString("mm")) -- 07 -- "M": 월 (1-12, 패딩 없음) -> "%" 필수 log(date:ToFormattedString("%M")) -- 8 -- "MM": [original] | "mm" 사용자 지정 서식 지정자는 분을 00부터 59까지의 숫자로 나타냅니다. 분은 마지막 시간 이후 경과한 총 분 수를 나타냅니다. 분이 한 자릿수인 경우 십의 자리는 0으로 표시됩니다. ```lua local date = DateTime(2022, 8, 29, 19, 7, 15, 023) log(date:ToFormattedString("mm")) -- 07 ``` #### "M" "M" 사용자 지정 서식 지정자는 월을 1부터 12까지의 숫자로 나타냅니다. 월이 한 자릿수인 경우 십의 자리는 표시되지 않습니다. "M" 사용 [chunk_id] | Guides:691:8
[task] | extract_knowledge [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | # 날짜와 시간 활용하기 (DateTime) ## 1. 개념 설명 mLua에서 날짜와 시간 정보는 `DateTime` 객체를 통해 관리됩니다. `DateTime` 객체는 기본적으로 **UTC** 기준의 시각을 나타내며, 특정 연도, 월, 일, 시, 분, 초를 인자로 받아 생성하거나, 문자열 형식으로 파싱하여 생성할 수 있습니다. 서버(Server)와 클라이언트(Client) 사이에서 `DateTime` 객체를 직접 전달하는 것은 불가능하므로, `DateTime.Elapsed` 속성을 사용하여 시간 차이를 숫자(`number`) [original] | DataTime을 DateElapsed를 사용해 다른 실행 공간에서 DateTime을 활용할 수 있습니다. ```lua [server only] void OnBeginPlay() { wait(1) local date = DateTime(2022, 5, 17, 13, 21, 35) self:ServerToClient(date.Elapsed) } [client] void ServerToClient(number dateElapsed) { local date = DateTime(dateElapsed) [chunk_id] | Guides:691:1
[task] | diverse_qa [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | 질문: "dd" 사용자 지정 서식 지정자는 날짜의 어떤 부분을 어떻게 표현하나요? 답변: "dd"는 일을 01부터 31까지의 숫자로 나타내며, 일이 한 자릿수인 경우 십의 자리에 0을 붙여 두 자리 숫자로 표시합니다. 질문: 다음 코드의 출력 결과는 무엇인가요? ```lua local date = DateTime(2022, 8, 9, 19, 27, 15) log(date:ToFormattedString("dd")) ``` 답변: 출력 결과는 "09"입니다. 질문: "ddd" 서식 지정자는 무엇을 나타내며, 문화권 지정 시 어떻게 [original] | "dd" 사용자 지정 서식 지정자는 일을 01부터 31까지의 숫자로 나타냅니다. 일이 한 자릿수인 경우 십의 자리에는 0이 표시됩니다. ```lua local date = DateTime(2022, 8, 9, 19, 27, 15) log(date:ToFormattedString("dd")) -- 09 ``` #### "ddd" "ddd" 사용자 지정 서식 지정자는 요일의 약식 이름을 나타냅니다. 문화권을 지정하면, 문화권에 해당하는 약식 요일이 나타납니다. ```lua local date = DateTime(2022, 8, [chunk_id] | Guides:691:6
[task] | diverse_qa [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | 질문: "M" 또는 "m" 표준 서식 지정자를 사용할 때 문화권을 지정하지 않으면 어떤 서식 문자열이 적용됩니까? 답변: 문화권을 지정하지 않을 경우 서식 문자열은 "MMMM dd"가 적용됩니다. 질문: 다음 코드에서 `log(date:ToFormattedString("m", "pt-BR"))`의 출력 결과는 무엇인가요? ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("m", "pt-BR")) ``` 답변: 출력 결과는 "10 de abril"입니다. [original] | "M" 또는 "m" 표준 서식 지정자는 특정 문화권의 월 서식 문자열을 나타냅니다. 문화권을 지정하지 않을 경우 서식 문자열은 **"MMMM dd"**입니다. ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("m")) -- April 10 log(date:ToFormattedString("m", "pt-BR")) -- 10 de abril ``` #### "Y", "y" "Y" 또는 "y" 표준 서식 지정자는 특정 문화권의 년 월 서식 문자열을 나타냅 [chunk_id] | Guides:691:5
[task] | extract_knowledge [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | # DateTime 표준 서식 지정자 활용 `DateTime` 객체의 `ToFormattedString` 메서드는 표준 서식 지정자를 사용하여 날짜와 시간 값을 문자열로 변환합니다. 각 지정자는 특정 패턴과 문화권(locale) 설정에 따라 출력을 제어하며, 일부 지정자는 UTC 변환이나 정렬 최적화를 수행합니다. ## 개념 설명 표준 서식 지정자는 `DateTime` 값의 출력을 표준화하는 데 사용됩니다. 주요 지정자는 다음과 같습니다. * **"R", "r"**: IETF RFC 1123 사양 기반의 HTTP 날짜 형 [original] | #### "R", "r" "R" 또는 "r" 표준 서식 지정자는 IETF RFC 1123 사양을 기반으로 시간 값에 대한 사용자 지정 서식 문자열을 나타냅니다. (**"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"**) 사용자 지정 서식 문자열에서 작은따옴표는 리터럴에 해당합니다. 작은따옴표는 하이픈, 콜론 및 개발 문자를 구분하는 용도로 사용합니다. 따라서 결과 문자열에 표시되지 않습니다. 시간은 IETF RFC 1123 표준에 따라 UTC로 표시되기 때문에 서식 지정자를 사용하기 전에 값이 UTC인지 확인해 [chunk_id] | Guides:691:4
[task] | extract_knowledge [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | # DateTime 표준 서식 지정자 활용 mLua에서 `DateTime` 객체의 문자열 변환은 `ToFormattedString` 메서드를 통해 수행됩니다. 이 메서드는 표준 서식 지정자(Standard Format Specifier)를 인수로 받아, 지정된 문화권(Culture)에 따라 날짜와 시간을 특정 패턴으로 서식화하여 문자열을 반환합니다. ## 개념 설명 표준 서식 지정자는 날짜와 시간의 조합 방식과 정밀도를 정의합니다. 문화권 인수를 생략하면 기본 문화권 서식이 적용되며, 지정하면 해당 문화권(예: `pt-BR`) [original] | "D" 표준 서식 지정자는 특정 문화권의 자세한 날짜 서식 문자열을 나타냅니다. 문화권을 지정하지 않으면 서식 문자열은 **"dddd, dd MMMM yyyy"**을 사용합니다. ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("D")) -- Sunday, 10 April 2022 log(date:ToFormattedString("D", "pt-BR")) -- domingo, 10 de abril de 2022 ``` #### "f" "f" 표준 서식 [chunk_id] | Guides:691:3
[task] | knowledge_list [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | 주어진 문서에서 추출한 핵심 사실 목록입니다. * `DateTime` 객체의 `ToFormattedString` 메서드는 사용자 지정 서식 문자열을 받아 날짜와 시간 정보를 포맷팅된 문자열로 반환하며, 매개변수로 전달되는 서식 문자열은 표준 서식 문자열과 구별하기 위해 필요한 경우 "%" 접두사가 요구됩니다. * "g" 사용자 지정 서식 지정자는 연대를 나타내며, 기본값은 "A.D"입니다. * "g" 사용자 지정 서식 지정자를 단독으로 사용할 경우 표준 서식 문자열로 오해받지 않도록 반드시 "%" 접두사를 붙여 `%g` [original] | "g" 또는 "gg" 사용자 지정 서식 지정자는 연대를 나타냅니다. 기본적으로 A.D(Anno Domini, 기원후)로 나타납니다. "g" 사용자 지정 서식 지정자만 단독으로 사용하는 경우 표준 서식 문자열로 잘못 해석되지 않도록 앞에 "%" 사용자 지정 서식 지정자를 사용해야 합니다. ```lua local date = DateTime(2022, 8, 29, 19, 27, 15, 023) log(date:ToFormattedString("%g")) -- A.D. ``` #### "h" "h" 사용자 지정 서식 지정자는 시간 [chunk_id] | Guides:691:7
[task] | knowledge_list [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | ```lua -- "mm" 사용자 지정 서식 지정자는 분을 00부터 59까지의 숫자로 나타내며, 한 자릿수일 경우 십의 자리가 0으로 표시됩니다. local date = DateTime(2022, 8, 29, 19, 7, 15, 023) log(date:ToFormattedString("mm")) -- 07 ``` * **"mm" 사용자 지정 서식 지정자는 분을 00부터 59까지의 숫자로 나타내며, 한 자릿수일 경우 십의 자리가 0으로 표시됩니다.** * **"M" 사용자 지정 서식 지정자는 월을 1부터 12까지의 숫자로 [original] | "mm" 사용자 지정 서식 지정자는 분을 00부터 59까지의 숫자로 나타냅니다. 분은 마지막 시간 이후 경과한 총 분 수를 나타냅니다. 분이 한 자릿수인 경우 십의 자리는 0으로 표시됩니다. ```lua local date = DateTime(2022, 8, 29, 19, 7, 15, 023) log(date:ToFormattedString("mm")) -- 07 ``` #### "M" "M" 사용자 지정 서식 지정자는 월을 1부터 12까지의 숫자로 나타냅니다. 월이 한 자릿수인 경우 십의 자리는 표시되지 않습니다. "M" 사용 [chunk_id] | Guides:691:8
[task] | wikipedia [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | # 날짜와 시간 서식 지정자 `DateTime` 객체의 `ToFormattedString` 메서드는 사용자 지정 서식 문자열을 통해 날짜와 시간 값을 문자열로 변환합니다. 이 문서는 분 단위 이하의 시간 값과 요일 이름을 표현하는 데 사용되는 특정 서식 지정자의 동작 방식을 설명합니다. ## "dd" `"dd"` 서식 지정자는 일(day)을 01부터 31까지의 두 자리 숫자로 표현합니다. 일이 한 자릿수인 경우, 십의 자리에 0이 자동 채워집니다. ```lua local date = DateTime(2022, 8, 9, 19 [original] | "dd" 사용자 지정 서식 지정자는 일을 01부터 31까지의 숫자로 나타냅니다. 일이 한 자릿수인 경우 십의 자리에는 0이 표시됩니다. ```lua local date = DateTime(2022, 8, 9, 19, 27, 15) log(date:ToFormattedString("dd")) -- 09 ``` #### "ddd" "ddd" 사용자 지정 서식 지정자는 요일의 약식 이름을 나타냅니다. 문화권을 지정하면, 문화권에 해당하는 약식 요일이 나타납니다. ```lua local date = DateTime(2022, 8, [chunk_id] | Guides:691:6
[task] | wikipedia [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | mLua의 `DateTime` 타입은 날짜와 시간을 문자열로 변환하기 위해 사용자 지정 서식 지정자를 제공합니다. 이 섹션에서는 연대, 시간, 시간대, 분을 나타내는 특정 서식 지정자의 동작과 제약 사항을 설명합니다. **연대 서식 지정자 ("g", "gg")** "g" 또는 "gg" 서식 지정자는 연대를 나타내며, 기본값은 A.D.(Anno Domini, 기원후)입니다. "g" 지정자를 단독으로 사용하는 경우 표준 서식 문자열로 오해되는 것을 방지하기 위해 앞단에 "%" 지정자를 붙여 사용해야 합니다. ```lua local [original] | "g" 또는 "gg" 사용자 지정 서식 지정자는 연대를 나타냅니다. 기본적으로 A.D(Anno Domini, 기원후)로 나타납니다. "g" 사용자 지정 서식 지정자만 단독으로 사용하는 경우 표준 서식 문자열로 잘못 해석되지 않도록 앞에 "%" 사용자 지정 서식 지정자를 사용해야 합니다. ```lua local date = DateTime(2022, 8, 29, 19, 27, 15, 023) log(date:ToFormattedString("%g")) -- A.D. ``` #### "h" "h" 사용자 지정 서식 지정자는 시간 [chunk_id] | Guides:691:7
[task] | extract_knowledge [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | # 날짜와 시간 서식 지정자 활용 mLua에서는 `DateTime` 객체의 `ToFormattedString` 메서드를 사용하여 날짜와 시간을 특정 문자열 형식으로 변환합니다. 이 메서드는 두 가지 유형의 서식 지정자를 지원합니다: 표준 서식 지정자와 사용자 지정 서식 지정자. ## 1. 개념 설명 ### 1.1 표준 서식 지정자 특정 문화권의 표준화된 날짜/시간 형식을 출력합니다. 문화권을 지정하지 않으면 기본 문화권 형식이 적용됩니다. * **"M" 또는 "m"**: 특정 문화권의 월 서식 문자열을 나타냅니다. [original] | "M" 또는 "m" 표준 서식 지정자는 특정 문화권의 월 서식 문자열을 나타냅니다. 문화권을 지정하지 않을 경우 서식 문자열은 **"MMMM dd"**입니다. ```lua local date = DateTime(2022, 4, 10) log(date:ToFormattedString("m")) -- April 10 log(date:ToFormattedString("m", "pt-BR")) -- 10 de abril ``` #### "Y", "y" "Y" 또는 "y" 표준 서식 지정자는 특정 문화권의 년 월 서식 문자열을 나타냅 [chunk_id] | Guides:691:5
[task] | extract_knowledge [title] | 날짜와 시간 활용하기 [category] | Guides [rephrased] | # 날짜와 시간 처리: DateTime 문자열 파싱 및 서식 지정 mLua에서는 `DateTime` 생성자를 통해 다양한 형식의 문자열을 날짜/시간 객체로 변환하고, `ToFormattedString` 메서드를 통해 특정 서식 지정자로 문자열을 출력할 수 있습니다. ## 1. 개념 설명 ### 1.1 문자열 파싱 규칙 `DateTime(string)` 생성자는 입력 문자열의 형식에 따라 다음과 같이 처리합니다. 1. **부분 정보 문자열**: 시간과 AM/PM 지정자만 있는 경우, 날짜 구성 요소는 현재 날짜를, 분과 초는 [original] | 시간과 오전/오후(AM/PM) 지정자만 있고 날짜 구성 요소가 없는 문자열의 경우 날짜 구성 요소는 현재 날짜를, 시간(분, 초)은 00:00을 가정합니다. ```lua local dateAsString = "7 PM" local date = DateTime(dateAsString) log(date) -- 05/09/2022 19:00:00 ``` #### ISO 8601 문자열 표준 시간대 정보를 포함하고, ISO 8601을 준수하는 문자열을 사용하는 경우에 DateTime은 기본적으로 UTC로 저장됩니다. 그러므로 UTC [chunk_id] | Guides:691:2
[task] | distill [title] | DataStorage 활용하기 [category] | Guides [rephrased] | # DataStorage 활용하기 `DataStorageService`를 통해 데이터 증가, 페이지 조회 등 목적에 맞는 데이터 조작을 수행합니다. ## DataStorage 종류 및 특성 DataStorage는 독립적이며, 식별자가 같아도 종류가 다르면 별개의 스토리지로 취급됩니다. | 종류 | 범위 | 값 타입 | 특징 | | :--- | :--- | :--- | :--- | | **GlobalDataStorage** | 월드별 (단일 월드 내) | `string` | 이름 지정 가능, 복수 생성 가능 | | **User [original] | # 학습 과정 소개 이 가이드는 [Data DB 저장 및 불러오기](/docs/?postId=68)와 병행 학습을 권장합니다. "Data DB 저장 및 불러오기"에서는 간편하게 데이터를 생성, 저장, 불러오는 기능 위주로 살펴보았습니다. 이번 가이드에서는 DataStorageService의 다양한 함수를 통해 데이터를 증가시키거나, 페이지를 가지고 오는 등 크리에이터의 목적에 맞게 데이터를 활용하는 방법을 알아봅시다. ##### 참고 가이드 * [DataStorage 사용량 제한 알아보기](/docs?postId=1044) * [ [chunk_id] | Guides:692:0