การคำนวณวันที่ในอนาคตหรืออดีต

Swift:
การคำนวณวันที่ในอนาคตหรืออดีต

วิธีการ:

Swift ทำให้คณิตศาสตร์ของวันที่เป็นเรื่องง่ายด้วย Calendar และ DateComponents นี่คือสาระสำคัญ:

import Foundation

// วันนี้
let today = Date()

// รับปฏิทินปัจจุบันของผู้ใช้
let currentCalendar = Calendar.current

// เพิ่ม 2 สัปดาห์ให้กับวันนี้
if let twoWeeksLater = currentCalendar.date(byAdding: .weekOfYear, value: 2, to: today) {
    print("สองสัปดาห์จากตอนนี้: \(twoWeeksLater)")
}

// ลบ 30 วันจากวันนี้
if let thirtyDaysBefore = currentCalendar.date(byAdding: .day, value: -30, to: today) {
    print("สามสิบวันที่แล้ว: \(thirtyDaysBefore)")
}

ผลลัพธ์อาจเป็นอย่างนี้:

สองสัปดาห์จากตอนนี้: 2023-04-14 10:26:47 +0000
สามสิบวันที่แล้ว: 2023-03-15 10:26:47 +0000

จำไว้ว่า ผลลัพธ์จริงอาจแตกต่างกันเนื่องจาก Date() ให้วันที่และเวลาปัจจุบันกับคุณ

การดำดิ่งลึก

ก่อน Swift, Objective-C และไวยากรณ์ที่ซับซ้อนของมันเป็นที่นิยม Swift ของ Date, Calendar, และ DateComponents ทำให้การดำเนินการกับวันที่ง่ายขึ้น วัตถุเหล่านี้ให้ความเคารพต่อเขตเวลา จัดการการเปลี่ยนแปลงการประหยัดแสงวัน และรับผิดชอบต่อการตั้งค่าปฏิทินของผู้ใช้ - ปัจจัยเหล่านี้เป็นปัญหาใหญ่ในการจัดการใน Objective-C

ทางเลือกอื่น ๆ รวมถึงไลบรารีของบุคคลที่สามเช่น SwiftDate ซึ่งสามารถมอบความสะดวกสบายและฟังก์ชันการทำงานเพิ่มเติม แต่สำหรับคนส่วนใหญ่ ผลิตภัณฑ์ในตัวของ Swift ทำงานได้ดีเพียงพอ

วันที่มีความซับซ้อน พวกมันไม่ได้เป็นเพียงตัวเลขที่เพิ่มหรือลดลง; พวกเขาเกี่ยวข้องกับปฏิทิน ความเฉพาะเจาะจงของสถานที่ และเขตเวลา กรอบงานของ Apple Foundation จัดการกับความซับซ้อนนี้ได้ ทำให้แน่ใจว่าการคำนวณวันที่ในอนาคตและอดีตของคุณมีความหมายได้ทั่วโลก