Tulevan tai menneen päivämäärän laskeminen

Swift:
Tulevan tai menneen päivämäärän laskeminen

How to: (Kuinka tehdä:)

import Foundation

// Nykyinen päivämäärä
let today = Date()

// Lasketaan päivämäärä kaksi viikkoa tulevaisuudessa
var futureDateComponenets = DateComponents()
futureDateComponenets.day = 14
if let futureDate = Calendar.current.date(byAdding: futureDateComponenets, to: today) {
    print("Kahden viikon päästä: \(futureDate)")
}

// Lasketaan päivämäärä 30 päivää menneisyydessä
var pastDateComponents = DateComponents()
pastDateComponents.day = -30
if let pastDate = Calendar.current.date(byAdding: pastDateComponents, to: today) {
    print("30 päivää sitten: \(pastDate)")
}

Tämä yksinkertainen koodi tulostaa päivämäärän kaksi viikkoa tästä päivästä eteenpäin ja päivämäärän 30 päivää taaksepäin.

Deep Dive (Syväsukellus)

Päivämäärien käsittely on ollut ohjelmoinnin peruskiviä alusta alkaen. DateComponents ja Calendar ovat Swift-standardikirjaston työkaluja, jotka yksinkertaistavat ajan laskentaa. Ennen Swiftiä, Objective-C käytti NSDate:a, joka oli vähemmän intuitiivinen. Vaihtoehtoina Swiftissä voisi käyttää myös kolmannen osapuolen kirjastoja, kuten DateTools tai Timepiece, jotka tarjoavat lisäyksiä ja helpotuksia. Mutta Swiftin Date ja Calendar yleensä riittävät ja ovat suositeltava tapa menneiden ja tulevien päivämäärien laskemiseen, eri aikavyöhykkeet ja kulttuuriset erityispiirteet huomioon ottaen.

See Also (Katso Myös)