0Pricing
Swift Academy · 강의

날짜 형식 지정

최신 형식 지정 API로 날짜를 표시합니다.

날짜 형식 지정은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

날짜 형식 지정

원시 Date 값은 사람이 읽기 어렵습니다. Swift의 최신 FormatStyle API를 사용하면 현지화된 문자열로 깔끔하게 변환할 수 있습니다.

formatted() 메서드

날짜에 .formatted()를 호출하면 사용자의 로캘에 맞는 적절한 기본 문자열을 얻을 수 있습니다.

import Foundation

let now = Date()
let text = now.formatted()
print("Produced a string: \(!text.isEmpty)")

Date.FormatStyle

Date.FormatStyle을 전달하면 표시할 부분을 제어할 수 있으며, 날짜와 시간의 스타일을 독립적으로 선택할 수 있습니다.

import Foundation

let now = Date()
let s = now.formatted(date: .abbreviated, time: .omitted)
print("Has date only: \(!s.isEmpty)")

날짜 및 시간 스타일

date: 및 time: 매개 변수에는 .full, .long, .abbreviated, .numeric 또는 .omitted를 사용할 수 있습니다.

import Foundation

let now = Date()
let full = now.formatted(date: .complete, time: .shortened)
print(!full.isEmpty)

구성 요소로 맞춤 설정

.dateTime 스타일을 사용하면 .year().month().day()처럼 원하는 필드를 정확하게 조합할 수 있습니다.

import Foundation

let now = Date()
let s = now.formatted(.dateTime.year().month().day())
print("Custom fields: \(!s.isEmpty)")

필드 너비 선택

각 구성 요소는 옵션을 받습니다. 예를 들어 .month(.wide)는 전체 이름을, .month(.twoDigits)는 숫자 형식을 사용합니다.

import Foundation

let now = Date()
let s = now.formatted(.dateTime.month(.wide).year())
print(!s.isEmpty)

시간만 표시

날짜가 이미 정해져 있을 때는 .hour().minute()처럼 시간 필드만 조합할 수 있습니다.

import Foundation

let now = Date()
let t = now.formatted(.dateTime.hour().minute())
print("Time string: \(!t.isEmpty)")

상대적 형식 지정

RelativeFormatStyle은 now를 기준으로 "2시간 후" 또는 "어제"와 같은 표현을 만듭니다.

import Foundation

let soon = Date().addingTimeInterval(3600)
let rel = soon.formatted(.relative(presentation: .named))
print("Relative phrase produced: \(!rel.isEmpty)")

ISO 8601

기계가 읽을 수 있는 출력에는 API의 표준 교환 형식인 .formatted(.iso8601)을 사용하세요.

import Foundation

let now = Date()
let iso = now.formatted(.iso8601)
print("Contains T separator: \(iso.contains("T"))")

문자열 다시 구문 분석하기

형식 스타일은 되돌릴 수 있으므로, 일치하는 전략을 사용해 문자열을 Date로 구문 분석할 수 있습니다.

import Foundation

let input = "2024-05-30T12:00:00Z"
if let date = try? Date(input, strategy: .iso8601) {
    print("Parsed: \(date.timeIntervalSince1970 > 0)")
}

FormatStyle과 DateFormatter 비교

새로운 FormatStyle API는 이전의 DateFormatter보다 형식 안전성이 높고 작성하기도 빠르므로, 새 코드에서는 이를 우선 사용하세요.

import Foundation

let now = Date()
print(now.formatted(date: .long, time: .omitted).isEmpty == false)

빠른 확인

시간은 생략하고 날짜만 표시하는 호출은 무엇일까요?

복습

FormatStyle API는 .formatted()와 구성 가능한 date:/time: 스타일, 조합 가능한 .dateTime 필드, 상대적 표현 및 ISO 8601을 사용해 날짜 형식을 지정합니다. 문자열 구문 분석을 위해 다시 변환할 수 있으며 DateFormatter보다 우선적으로 사용해야 합니다. 다음 주제는 시간대와 로캘입니다.

자주 묻는 질문

“날짜 형식 지정” 강의는 무료인가요?

네 — “날짜 형식 지정” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“날짜 형식 지정”에서 뭘 배우나요?

최신 형식 지정 API로 날짜를 표시합니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Swift Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“날짜 형식 지정” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Date 형식과 시간 간격
  2. Calendar와 DateComponents
  3. 날짜 형식 지정
  4. 시간대와 로캘
← Swift Academy(으)로 돌아가기