Je ne trouve pas le moyen de définir les variables de type Date sur une valeur initiale ou vide (ne pas utiliser une valeur initiale définie par l'utilisateur ... comme "0001/01/01").
Comme le type String peut définir String.init () ou "" à sa valeur, vous pouvez donc utiliser isEmpty () pour déterminer qu'il est vide, mais comment faire cela avec des variables de type Date?
4 Réponses :
Vous pouvez initialiser un objet Date par son constructeur par défaut.
var date = Date()
La ligne ci-dessus initialisera l'objet date avec la date actuelle.
J'espère que cela aide
Vous pouvez déclarer une Date = nil
Ce qui signifie que lorsque nous attribuons une valeur à des données comme
let dateFormatterGet = DateFormatter()
dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateFormatterPrint = DateFormatter()
dateFormatterPrint.dateFormat = "MMM dd,yyyy"
if let date = dateFormatterGet.date(from: "2016-02-29 12:24:26") {
print(dateFormatterPrint.string(from: date))
} else {
print("There was an error decoding the string")
}
OU autre
Utilisez les codes suivants pour définir une date au format chaîne p >
var date = Date() // means its current data
J'espère que cela vous sera utile
Cela dépend de ce que vous allez accomplir.
Naturellement, il n'y a pas de date vide .
Si la valeur de la date n'est pas pertinente, déclarez-la avec la date actuelle
let date = Date(timeIntervalSince1970: 0) // 1970/1/1 let date = Date(timeIntervalSinceReferenceDate: 0) // 2001/1/1
Si la date est censée être tout à fait indéterminée dans un passé ou un futur lointain, il y a
let date = Date.distantPast let date = Date.distantFuture
Si la date peut être une date spécifique, utilisez les dates de référence
let date = Date()
Je suis contre l'utilisation de la date actuelle comme espace réservé. J'ai déjà vu trop de bugs causés par ça. Il est préférable d'utiliser nil .
@Sulthan Quoi de pire, la date actuelle ou l'option? J'ai déjà vu trop de bogues causés par les options. 😉
J'ai vu des gens utiliser Date () par défaut lorsque l'analyse d'une date échoue. Ensuite, une date invalide a été montrée à l'utilisateur et ils n'ont même pas remarqué :) Je pense que Date () ne devrait pas être utilisé dans les situations où nous voulons vraiment dire "il n'y a pas de date significative".
La réponse évidente est qu'il n'y a pas de Date vide.
Une String a 3 états possibles:
"abc" "" nil . Avec les chaînes, les cas 2 et 3 sont généralement interchangeables. Cela signifie que nous pouvons utiliser une chaîne vide ou nil pour signifier la même chose.
Il n'y a pas de valeurs Date vides, donc si nous voulons représente l'état lorsqu'il n'y a pas de Date , nous devons utiliser nil.
var date: Date? = nil
p>