Swift – Get Current Time
In this tutorial, we will learn how to get the current time in Swift. We will explore the Date class, use DateFormatter to extract and format the time, and write a complete program with some examples.
Getting the Current Time in Swift
In Swift, you can use the Date class to get the current time. By default, Date() retrieves both the current date and time. To specifically extract and format the time, we use the DateFormatter class.
Here’s a simple example to print the current time:
let currentTime = Date()
print("Current Time: \(currentTime)")
However, this prints the time in the default format along with the date. To display only the time in a human-readable format, we use DateFormatter.
Formatting the Current Time
The DateFormatter class allows you to extract and format the time. You can specify a custom format using dateFormat.
Here’s an example to format the current time:
let timeFormatter = DateFormatter()
timeFormatter.dateFormat = "HH:mm:ss"
let formattedTime = timeFormatter.string(from: currentTime)
print("Formatted Time: \(formattedTime)")
Explanation:
HH: Represents hours in 24-hour format.mm: Represents minutes.ss: Represents seconds.timeFormatter.string(from: currentTime): Converts theDateobject into a formatted string for time.
Using Predefined Styles for Time
The DateFormatter class also provides predefined styles for time, such as .short and .medium.
Here’s an example:
let shortTimeFormatter = DateFormatter()
shortTimeFormatter.timeStyle = .short
print("Short Time Style: \(shortTimeFormatter.string(from: currentTime))")
let mediumTimeFormatter = DateFormatter()
mediumTimeFormatter.timeStyle = .medium
print("Medium Time Style: \(mediumTimeFormatter.string(from: currentTime))")
Explanation:
.short: Displays a concise version of the time, e.g.,2:53 PM..medium: Displays a more detailed version of the time, e.g.,2:53:29 PM.
Complete Swift Program
Here’s the complete Swift program to demonstrate getting and formatting the current time:
main.swift
import Foundation
// Get the current time
let currentTime = Date()
print("Current Time: \(currentTime)")
// Format the time using a custom format
let timeFormatter = DateFormatter()
timeFormatter.dateFormat = "HH:mm:ss"
let formattedTime = timeFormatter.string(from: currentTime)
print("Formatted Time: \(formattedTime)")
// Display time in predefined styles
let shortTimeFormatter = DateFormatter()
shortTimeFormatter.timeStyle = .short
print("Short Time Style: \(shortTimeFormatter.string(from: currentTime))")
let mediumTimeFormatter = DateFormatter()
mediumTimeFormatter.timeStyle = .medium
print("Medium Time Style: \(mediumTimeFormatter.string(from: currentTime))")
Output
Current Time: 2024-11-21 00:24:21 +0000
Formatted Time: 05:54:21
Short Time Style: 5:54 AM
Medium Time Style: 5:54:21 AM
Program ended with exit code: 0
Xcode Screenshot

