q
This commit is contained in:
@ -10,12 +10,28 @@ import SwiftUI
|
||||
|
||||
extension Date {
|
||||
func format(_ format: String, locale: Locale = Locale(identifier: "ru_RU")) -> String {
|
||||
let formatter = DateFormatter()
|
||||
formatter.dateFormat = format
|
||||
formatter.locale = locale
|
||||
return formatter.string(from: self)
|
||||
let formatter = DateFormatter()
|
||||
formatter.dateFormat = format
|
||||
formatter.locale = locale
|
||||
let formattedString = formatter.string(from: self)
|
||||
|
||||
if format == "EEEE" {
|
||||
return formattedString.prefix(1).capitalized + formattedString.dropFirst()
|
||||
}
|
||||
|
||||
return formattedString
|
||||
}
|
||||
|
||||
var isToday: Bool {
|
||||
return Calendar.current.isDateInToday(self)
|
||||
}
|
||||
|
||||
private func isSameDate(_ date1: Date?, _ date2: Date?) -> Bool {
|
||||
guard let date1 = date1, let date2 = date2 else { return false }
|
||||
let calendar = Calendar.current
|
||||
return calendar.isDate(date1, inSameDayAs: date2)
|
||||
}
|
||||
|
||||
func fetchWeek(_ date: Date = .init()) -> [WeekDay] {
|
||||
let calendar = Calendar.current
|
||||
let startOfDate = calendar.startOfDay(for: date)
|
||||
@ -36,6 +52,24 @@ extension Date {
|
||||
return week
|
||||
}
|
||||
|
||||
func createNextWeek() -> [WeekDay] {
|
||||
let calendar = Calendar.current
|
||||
let startOfLastDate = calendar.startOfDay(for: self)
|
||||
guard let nextDate = calendar.date(byAdding: .day, value: 1, to: startOfLastDate) else {
|
||||
return []
|
||||
}
|
||||
return fetchWeek(nextDate)
|
||||
}
|
||||
|
||||
func createPrevioustWeek() -> [WeekDay] {
|
||||
let calendar = Calendar.current
|
||||
let startOfFirstDate = calendar.startOfDay(for: self)
|
||||
guard let previousDate = calendar.date(byAdding: .day, value: -1, to: startOfFirstDate) else {
|
||||
return []
|
||||
}
|
||||
return fetchWeek(previousDate)
|
||||
}
|
||||
|
||||
struct WeekDay: Identifiable {
|
||||
var id: UUID = .init()
|
||||
var date: Date
|
||||
|
14
Schedule ICTIS/Helpers/View+Extensions.swift
Normal file
14
Schedule ICTIS/Helpers/View+Extensions.swift
Normal file
@ -0,0 +1,14 @@
|
||||
//
|
||||
// View+Extensions.swift
|
||||
// Schedule ICTIS
|
||||
//
|
||||
// Created by G412 on 15.11.2024.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
extension View {
|
||||
func isSameDate(_ date1: Date, _ date2: Date) -> Bool {
|
||||
return Calendar.current.isDate(date1, inSameDayAs: date2)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user