How to Parse a Date String in the ‘yyyy-MM-dd HH:mm:ss’ Format in Swift

Parsing a date string in a specific format is a common task in app development. In this guide, we’ll explore how to parse a date string in the ‘yyyy-MM-dd HH:mm:ss’ format using Swift.

Step 1: Create a DateFormatter

To parse a date string, you need to create an instance of DateFormatter and set the expected date format. Here’s how you can do it:

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"

In this code, we’re setting the dateFormat property to match the ‘yyyy-MM-dd HH:mm:ss’ format.

Step 2: Parse the Date String

Now that you have a DateFormatter with the correct format, you can parse a date string using the date(from:) method. Here’s an example:

let dateString = "2023-10-27 15:30:00"
if let date = dateString) {
    // 'date' contains the parsed date
} else {
    // Parsing failed

In this example, we attempt to parse the dateString into a Date object using the configured dateFormatter. If the parsing is successful, the date variable will contain the parsed date; otherwise, it will be nil.

Handling Time Zones and Locale

By default, DateFormatter uses the device’s current time zone and locale. If your date string includes time zone or you need to ensure consistency across different locales, you can set the timeZone and locale properties of the DateFormatter accordingly.

dateFormatter.timeZone = TimeZone(identifier: "UTC")
dateFormatter.locale = Locale(identifier: "en_US_POSIX")


Parsing a date string in the ‘yyyy-MM-dd HH:mm:ss’ format is essential when working with date and time data in Swift. With DateFormatter, this task becomes straightforward. By following the steps outlined in this guide, you can reliably parse date strings and work with date data in your applications.

Remember to handle potential parsing failures and consider the time zone and locale settings based on your specific use case.

In summary, this guide has demonstrated how to parse a date string in the ‘yyyy-MM-dd HH:mm:ss’ format using Swift, providing you with a valuable tool for date and time data manipulation in your apps.

A pat on the back !!