J'ai regardé un peu autour de moi, mais je n'ai pas trouvé de réponse rapide à cela dans Swift 3. Je reçois aujourd'hui comme cela:
let weekday = Calendar.current.component(.weekday, from: Date())
Mais au lieu de cela, je voudrais obtenir le jour de la semaine d'une date donnée. Comment est-ce fait? Merci
Vous avez probablement déjà un Date
?
let weekday = Calendar.current.component(.weekday, from: myDate)
Vous voulez peut-être le nom du jour de la semaine?
let f = DateFormatter()
f.weekdaySymbols[Calendar.current.component(.weekday, from: Date())]
Recherchez l'API NSCalendar
/DateComponents
ou modifiez votre question pour qu'elle soit plus spécifique si vous avez besoin d'aide avec l'API DateComponents.
let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
//OR dateFormatter.dateFormat = "EEEE, MMMM dd, yyyy"
let currentDateString: String = dateFormatter.string(from: date)
print("Current date is \(currentDateString)")
La date du jour est le lundi 29 juin 2017
Si vous voulez le composant dayNumber dans TimeZone
func dayNumberOfWeek() -> Int? {
let timeZone = TimeZone(abbreviation: "EDT")
let component = Calendar.current.dateComponents(in: timeZone!, from: self)
return component.day
}
Swift4 obtenir le jour de la semaine à partir de DateFormatter
func getTodayWeekDay()-> String{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEEE"
let weekDay = dateFormatter.string(from: Date())
return weekDay
}
Pour obtenir le format local, vous pouvez utiliser:
extension Date{
func stringValueFullWithTime()-> String?{
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .full
dateFormatter.timeStyle = . short
dateFormatter.locale = Locale.current
return dateFormatter.string(from: self)
}
Cela va imprimer en allemand:
mercredi, 11 novembre 2018 à 11:17