라이브 시작시간 UTC 적용

라이브 상세와 수정 화면에서 UTC 기준 시간을 표시한다.
날짜 표기는 OS 언어 설정의 기본 포맷을 사용한다.
This commit is contained in:
Yu Sung
2026-01-05 11:36:26 +09:00
parent 921c7e008c
commit 2f8331f2ff
5 changed files with 34 additions and 7 deletions

View File

@@ -19,6 +19,7 @@ struct GetRoomDetailResponse: Decodable {
let tags: [String]
let channelName: String?
let beginDateTime: String
let beginDateTimeUtc: String
let numberOfParticipants: Int
let numberOfParticipantsTotal: Int
let manager: GetRoomDetailManager

View File

@@ -94,7 +94,8 @@ struct LiveDetailView: View {
.padding(.top, 6.7)
HStack(spacing: 0) {
Text(room.beginDateTime.convertDateFormat(from: "yyyy.MM.dd EEE hh:mm a", to: "yyyy년 MM월 dd일 (E) a hh시 mm분", locale: Locale(identifier: "en_US_POSIX")))
let beginDateText = room.beginDateTimeUtc.parseUtcIsoDate()?.localizedDateTimeString() ?? room.beginDateTime
Text(beginDateText)
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(Color(hex: "bbbbbb"))

View File

@@ -52,12 +52,19 @@ final class LiveRoomEditViewModel: ObservableObject {
notice = room!.notice
numberOfPeople = String(room!.numberOfParticipantsTotal)
let fromFormatter = DateFormatter()
fromFormatter.dateFormat = "yyyy.MM.dd EEE hh:mm a"
fromFormatter.locale = Locale(identifier: "en_US_POSIX")
reservationDate = fromFormatter.date(from: room!.beginDateTime)!
reservationTime = fromFormatter.date(from: room!.beginDateTime)!
if let beginDate = room!.beginDateTimeUtc.parseUtcIsoDate() {
reservationDate = beginDate
reservationTime = beginDate
} else {
let fromFormatter = DateFormatter()
fromFormatter.dateFormat = "yyyy.MM.dd EEE hh:mm a"
fromFormatter.locale = Locale(identifier: "en_US_POSIX")
if let legacyDate = fromFormatter.date(from: room!.beginDateTime) {
reservationDate = legacyDate
reservationTime = legacyDate
}
}
let beginDate = reservationDate.convertDateFormat(dateFormat: "yyyy-MM-dd")
let beginTime = reservationTime.convertDateFormat(dateFormat: "HH:mm")