การแยกวันที่ออกจากสตริง

Swift:
การแยกวันที่ออกจากสตริง

วิธีการ:

การใช้ DateFormatter ของ Foundation

ไลบรารีมาตรฐานของ Swift คือ Foundation มี DateFormatter สำหรับการแปลงสตริงเป็นอ็อบเจกต์ Date และในทางกลับกัน เพื่อแยกวิเคราะห์วันที่จากสตริง คุณต้องระบุรูปแบบวันที่ที่ตรงกับสตริง จากนั้นใช้ฟอร์แมตเตอร์เพื่อแยกวิเคราะห์มัน

import Foundation

let dateString = "2023-04-30"
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
if let date = formatter.date(from: dateString) {
    print("วันที่ที่แยกวิเคราะห์ได้: \(date)")
} else {
    print("ไม่สามารถแยกวิเคราะห์วันที่ได้")
}
// ตัวอย่างผลลัพธ์: วันที่ที่แยกวิเคราะห์ได้: 2023-04-29 22:00:00 +0000

โปรดทราบว่าผลลัพธ์อาจแตกต่างกันขึ้นอยู่กับเขตเวลาของคุณ

การใช้ ISO8601DateFormatter

สำหรับรูปแบบวันที่ ISO 8601, Swift มีฟอร์แมตเตอร์เฉพาะ ISO8601DateFormatter, ซึ่งทำให้กระบวนการแยกวิเคราะห์ง่ายขึ้น

import Foundation

let dateString = "2023-04-30T15:00:00+00:00"
let isoFormatter = ISO8601DateFormatter()
if let date = isoFormatter.date(from: dateString) {
    print("วันที่ ISO8601 ที่แยกวิเคราะห์ได้: \(date)")
} else {
    print("ไม่สามารถแยกวิเคราะห์วันที่ ISO8601 ได้")
}
// ตัวอย่างผลลัพธ์: วันที่ ISO8601 ที่แยกวิเคราะห์ได้: 2023-04-30 15:00:00 +0000

การใช้ไลบรารีภายนอก: SwiftDate

แม้ว่า Swift จะมีเครื่องมือที่เข้มแข็งสำหรับการแยกวิเคราะห์วันที่ แต่ไลบรารีภายนอกเช่น SwiftDate มอบความยืดหยุ่นและความสะดวกในการใช้งานที่ยิ่งขึ้น หลังจากเพิ่ม SwiftDate เข้ากับโปรเจกต์ของคุณ การแยกวิเคราะห์จะเป็นเรื่องง่ายเช่น:

import SwiftDate

let dateString = "April 30, 2023"
if let date = dateString.toDate("MMMM dd, yyyy") {
    print("วันที่ที่แยกวิเคราะห์ได้ด้วย SwiftDate: \(date)")
} else {
    print("ไม่สามารถแยกวิเคราะห์วันที่ด้วย SwiftDate ได้")
}
// ตัวอย่างผลลัพธ์: วันที่ที่แยกวิเคราะห์ได้ด้วย SwiftDate: 2023-04-30 00:00:00 +0000

SwiftDate ทำให้การแยกวิเคราะห์เป็นเรื่องง่ายด้วยภาษาธรรมชาติและรูปแบบวันที่ที่หลากหลาย ทำให้เป็นเครื่องมือที่ทรงพลังในการเขียนโปรแกรม Swift ของคุณ