Formatted

velog_ghost·2022년 7월 13일
0

[SeSAC] TIL📚

목록 보기
10/19

Formatted


Formatted 등장 및 서론


  • iOS 15부터 새로운 Formatted API가 등장했다고 한다. 숫자, 날짜, 시간 등과 같은 데이터를 사용자가 보기 편리한 문자열로 변환해 주는 기능으로, 내가 처음 Formatted를 접한건 DateFormatter() 을 사용하여 현재 시간에 대한 정보를 받아 사용했었던 기억이 있었다.

  • 이를 적용하여 다시금 확인해보자


formatted를 활용해 Date 정보를 받아 사용


처음 날짜 데이터를 value에 받고, 이를 바로 출력해보는 경우

let value = Date()  
print(value)
    
2022-07-13 07:53:11 +0000

이렇게 나타난다. 만약 우리가 이 값을 formatted를 사용하여 출력해보면 어떠한 결과가 출력될까?

print(value.formatted())


7/13/2022, 4:53 PM

이렇게 우리가 자주 사용하는 형식으로 날짜가 변환되어 나온다.

print(value.formatted(date: .omitted, time: .shortened))

4:53 PM

날짜를 이용해 전체 실습한 코드


// 현재 시간 정보를 받아서 문자열로 변환해주는 함수
func dateFormatStyle() {
    
    let value = Date()
    
    print(value)
    print(value.formatted())
    print(value.formatted(date: .omitted, time: .shortened))
    print(value.formatted(date: .complete, time: .shortened))
    
    let locale = Locale(identifier: "ko-KR")
    
    let result = value.formatted(.dateTime.locale(locale).day().month(.twoDigits).year())
    print(result)
    
    let result2 = value.formatted(.dateTime.day().month(.twoDigits).year())
    print(result2)
}

dateFormatStyle()

출력 형태


2022-07-13 07:53:11 +0000
7/13/2022, 4:53 PM
4:53 PM
Wednesday, July 13, 2022, 4:53 PM
2022. 07. 13.
07/13/2022

Number, String을 받아서 변환하는 Formatted


날짜 뿐만 아니라, 숫자나 문자열을 받아서 Formatted를 사용할 수도 있다.

// Number, String을 받아서 변환해주는 함수

func numberFormatStyle() {
    print(80.formatted(.percent))
    
    print(1345678901.formatted())
    
    print(1984333232.formatted(.currency(code: "krw")))
    
    let result = ["루피", "우솝", "상디", "조로"].formatted()
    print(result)
}

numberFormatStyle()

출력 형태


80%
1,345,678,901
₩1,984,333,232
루피, 우솝, 상디, and 조로

0개의 댓글