Skip to content

Commit

Permalink
Merge pull request #350 from rakuyoMo/fix/format-locale
Browse files Browse the repository at this point in the history
  • Loading branch information
kvyatkovskys authored Jun 7, 2024
2 parents 7b0fdd1 + 9a9dd2b commit bea7976
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 15 deletions.
30 changes: 16 additions & 14 deletions Example/KVKCalendar/KVKCalendarSettings.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ extension KVKCalendarSettings where Self: KVKCalendarDataModel {
var eventTemp = event
guard let startTemp = start, let endTemp = end else { return nil }

let startTime = timeFormatter(date: startTemp, format: style.timeSystem.format)
let endTime = timeFormatter(date: endTemp, format: style.timeSystem.format)
let startTime = timeFormatter(date: startTemp, format: style.timeSystem.format, local: style.locale)
let endTime = timeFormatter(date: endTemp, format: style.timeSystem.format, local: style.locale)
eventTemp.start = startTemp
eventTemp.end = endTemp
eventTemp.title = TextEvent(timeline: "\(startTime) - \(endTime)\n new time",
Expand Down Expand Up @@ -59,8 +59,8 @@ extension KVKCalendarSettings where Self: KVKCalendarDataModel {
guard let start = date,
let end = Calendar.current.date(byAdding: .minute, value: 30, to: start) else { return nil }

let startTime = timeFormatter(date: start, format: style.timeSystem.format)
let endTime = timeFormatter(date: end, format: style.timeSystem.format)
let startTime = timeFormatter(date: start, format: style.timeSystem.format, local: style.locale)
let endTime = timeFormatter(date: end, format: style.timeSystem.format, local: style.locale)
newEvent.start = start
newEvent.end = end
newEvent.ID = "\(events.count + 1)"
Expand All @@ -73,8 +73,8 @@ extension KVKCalendarSettings where Self: KVKCalendarDataModel {
func handleEvents(systemEvents: [EKEvent]) -> [Event] {
// if you want to get a system events, you need to set style.systemCalendars = ["test"]
let mappedEvents = systemEvents.compactMap { (event) -> Event in
let startTime = timeFormatter(date: event.startDate, format: style.timeSystem.format)
let endTime = timeFormatter(date: event.endDate, format: style.timeSystem.format)
let startTime = timeFormatter(date: event.startDate, format: style.timeSystem.format, local: style.locale)
let endTime = timeFormatter(date: event.endDate, format: style.timeSystem.format, local: style.locale)
event.title = "\(startTime) - \(endTime)\n\(event.title ?? "")"

return Event(event: event)
Expand All @@ -91,11 +91,11 @@ extension KVKCalendarSettings where Self: KVKCalendarDataModel {
let result = try? decoder.decode(ItemData.self, from: data) else { return }

let events = result.data.compactMap({ (item) -> Event in
let startDate = formatter(date: item.start)
let endDate = formatter(date: item.end)
let startTime = timeFormatter(date: startDate, format: dateFormat)
let endTime = timeFormatter(date: endDate, format: dateFormat)
let startDate = formatter(date: item.start, local: style.locale)
let endDate = formatter(date: item.end, local: style.locale)
let startTime = timeFormatter(date: startDate, format: dateFormat, local: style.locale)
let endTime = timeFormatter(date: endDate, format: dateFormat, local: style.locale)

var event = Event(ID: item.id)
event.start = startDate
event.end = endDate
Expand Down Expand Up @@ -203,16 +203,18 @@ extension KVKCalendarSettings {
style.timeline.useDefaultCorderHeader = true
return style
}
func timeFormatter(date: Date, format: String) -> String {

func timeFormatter(date: Date, format: String, local: Locale) -> String {
let formatter = DateFormatter()
formatter.dateFormat = format
formatter.locale = local
return formatter.string(from: date)
}

func formatter(date: String) -> Date {
func formatter(date: String, local: Locale) -> Date {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
formatter.locale = local
return formatter.date(from: date) ?? Date()
}

Expand Down
2 changes: 1 addition & 1 deletion Sources/KVKCalendar/CalendarData.swift
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ struct CalendarData {

let formatterDay = DateFormatter()
formatterDay.dateFormat = "EE"
formatterDay.locale = Locale(identifier: "en_US")
formatterDay.locale = style.locale
let days = arrDates.map({ Day(type: DayType(rawValue: formatterDay.string(from: $0).uppercased()) ?? .empty, date: $0, data: []) })
return days
}
Expand Down
1 change: 1 addition & 0 deletions Sources/KVKCalendar/CalendarModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,7 @@ extension CalendarSettingProtocol {
func timeFormatter(date: Date, format: String) -> String {
let formatter = DateFormatter()
formatter.dateFormat = format
formatter.locale = style.locale
return formatter.string(from: date)
}
}
Expand Down
1 change: 1 addition & 0 deletions Sources/KVKCalendar/CurrentLineView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ final class CurrentLineView: UIView {
self.parameters = parameters
super.init(frame: frame)
isUserInteractionEnabled = false
formatter.locale = style.locale
setUI()
}

Expand Down
1 change: 1 addition & 0 deletions Sources/KVKCalendar/MonthCell.swift
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ final class MonthCell: KVKCollectionViewCell {
private func timeFormatter(date: Date) -> String {
let formatter = DateFormatter()
formatter.dateFormat = style.timeSystem.format
formatter.locale = style.locale
return formatter.string(from: date)
}

Expand Down
2 changes: 2 additions & 0 deletions Sources/KVKCalendar/TimelineView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ final class TimelineView: UIView, EventDateProtocol, CalendarTimer {
self.selectedDate = Date()
super.init(frame: frame)

timeLabelFormatter.locale = style.locale

addSubview(scrollView)
setupConstraints()

Expand Down
1 change: 1 addition & 0 deletions Sources/KVKCalendar/YearView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ extension YearView: UICollectionViewDelegate, UICollectionViewDelegateFlowLayout
let index = getIndexForDirection(data.style.year.scrollDirection, indexPath: indexPath)
let date = data.sections[index.section].months[index.row].date
let formatter = DateFormatter()
formatter.locale = style.locale
formatter.dateFormat = "dd.MM.yyyy"
let newDate = formatter.date(from: "\(data.date.kvkDay).\(date.kvkMonth).\(date.kvkYear)")
data.date = newDate ?? Date()
Expand Down

0 comments on commit bea7976

Please sign in to comment.