gpt4 book ai didi

swift - 快速获取一个月的第一天

转载 作者:搜寻专家 更新时间:2023-10-31 08:15:21 25 4
gpt4 key购买 nike

我正在寻找一种方法来获取一个月的第一天(在 Swift 中)。我想通过返回相应的数字来知道今天是星期一、星期二等。

我尝试了很多解决方案,比如获取 NSCalendar 组件 .weekDay,但没有一个可行。

Example :

print(getTheFirstDate("2016-2-18"))

// Should return : 0 (because the first day of February 2016 is Monday).

如有任何帮助,我们将不胜感激。

最佳答案

首先您需要解析您的日期字符串,然后您可以使用日历方法 dateComponents 从该日期获取日历、年和月组件,并从这些组件创建一个新日期。然后您可以从中提取工作日日期组件:

Xcode 11.5 • Swift 5.2

extension Date {
var weekday: Int { Calendar.current.component(.weekday, from: self) }
var firstDayOfTheMonth: Date {
Calendar.current.dateComponents([.calendar, .year,.month], from: self).date!
}
}

extension String {
static var dateFormatter: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
return formatter
}()

var date: Date? {
String.dateFormatter.date(from: self)
}
}

"2016-2-18".date?.firstDayOfTheMonth.weekday // 2 = Monday (Sunday-Saturday 1-7)

关于swift - 快速获取一个月的第一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37093134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com