문자열에서 날짜 분석하기

Lua:
문자열에서 날짜 분석하기

어떻게 하나:

Lua는 os.dateos.time 함수에 의해 제공되는 제한된 기능 외에 날짜 및 시간 조작을 위한 내장 지원이 없습니다. 그러나 이러한 기능을 기본 파싱을 위해 활용할 수 있으며, 더 복잡한 요구 사항의 경우 외부 라이브러리인 luadate 라이브러리를 사용할 수 있습니다.

os.dateos.time 사용하기:

-- 인간이 읽을 수 있는 날짜를 타임스탬프로 변환하고 다시 변환하기
local dateString = "2023-09-21 15:00:00"
local pattern = "(%d+)-(%d+)-(%d+) (%d+):(%d+):(%d+)"
local year, month, day, hour, minute, second = dateString:match(pattern)

local timestamp = os.time({
  year = year,
  month = month,
  day = day,
  hour = hour,
  min = minute,
  sec = second
})

-- 타임스탬프를 다시 인간이 읽을 수 있는 형식으로 변환
local formattedDate = os.date("%Y-%m-%d %H:%M:%S", timestamp)
print(formattedDate)  -- 출력: 2023-09-21 15:00:00

luadate 사용하기 (서드파티 라이브러리): luadate를 사용하기 위해서는 LuaRocks 또는 선택한 패키지 관리자를 통해 설치되어 있어야 합니다. luadate는 날짜와 시간의 파싱 및 조작 기능을 대폭 추가합니다.

local date = require('date')

-- 날짜 문자열을 직접 파싱
local parsedDate = date.parse("2023-09-21 15:00:00")
print(parsedDate:fmt("%Y-%m-%d %H:%M:%S"))  -- 출력: 2023-09-21 15:00:00

-- 기간 추가하기
local oneWeekLater = parsedDate:adddays(7)
print(oneWeekLater:fmt("%Y-%m-%d %H:%M:%S"))  -- 출력: 2023-09-28 15:00:00

luadate 라이브러리는 문자열에서 파싱, 형식 지정, 날짜에 대한 산술 연산 등, 날짜 작업을 훨씬 직관적이고 강력하게 만드는 방법을 제공하여 Lua에서 시간 데이터를 다루는 작업을 상당히 단순화합니다.