Files
2023-12-14 14:11:56 +01:00

45 lines
1.8 KiB
Swift

//
// DateExtension.swift
// Nextcloud Cookbook iOS Client
//
// Created by Vincent Meilinger on 14.12.23.
//
import Foundation
extension Date {
static func convertUTCStringToLocalString(utcDateString: String, withFormat format: String = "yyyy-MM-dd HH:mm:ss") -> String? {
// DateFormatter for parsing the UTC date string
let inputFormatter = DateFormatter()
inputFormatter.dateFormat = format
inputFormatter.timeZone = TimeZone(secondsFromGMT: 0) // UTC
// DateFormatter for converting to local time string
let outputFormatter = DateFormatter()
outputFormatter.dateFormat = format // You can modify this format for different output styles
outputFormatter.timeZone = TimeZone.current // Device's local time zone
// Convert the string to Date and then to local time string
if let date = inputFormatter.date(from: utcDateString) {
return outputFormatter.string(from: date)
} else {
return nil // Return nil if the input string is not in the correct format
}
}
static func convertISOStringToLocalString(isoDateString: String, withFormat format: String = "yyyy-MM-dd HH:mm:ss") -> String? {
let inputFormatter = ISO8601DateFormatter()
// DateFormatter for converting to local time string
let outputFormatter = DateFormatter()
outputFormatter.dateFormat = format // You can modify this format for different output styles
outputFormatter.timeZone = TimeZone.current // Device's local time zone
// Convert the string to Date and then to local time string
if let date = inputFormatter.date(from: isoDateString) {
return outputFormatter.string(from: date)
} else {
return nil // Return nil if the input string is not in the correct format
}
}
}