日历与设置无关
Calendar regardless of settings
在应用中,我使用星期几来打开成就
let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEEE"
let dayInWeek = dateFormatter.string(from: date)
if dayInWeek == "Monday" {
achiv = true
}
我在申请中使用英语、俄语和乌克兰语。问题是,如果 phone 是英文,则此条件有效。 帮助传递此方法,以便无论设备上的语言如何,条件都有效。
您可以使用 DateComponents 检查工作日:
let date = Date()
let weekday = Calendar.current.component(.weekday, from: date)
if weekday == 1 {
print("Sunday")
} else if weekday == 2 {
print("Monday")
}
注意:字符串检查if weekday == "Monday"
不安全,因为不同地区有不同的字符串。
您可以使用 weekday
属性 或 DateComponents
let now = Date()
let today = Calendar(identifier: .gregorian).component(.weekday, from: now)
if today == 2 {
print("It is Monday")
}
请注意,我使用的是公历而不是当前日历,因为工作日值在其他日历中可能会有所不同。
在应用中,我使用星期几来打开成就
let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEEE"
let dayInWeek = dateFormatter.string(from: date)
if dayInWeek == "Monday" {
achiv = true
}
我在申请中使用英语、俄语和乌克兰语。问题是,如果 phone 是英文,则此条件有效。 帮助传递此方法,以便无论设备上的语言如何,条件都有效。
您可以使用 DateComponents 检查工作日:
let date = Date()
let weekday = Calendar.current.component(.weekday, from: date)
if weekday == 1 {
print("Sunday")
} else if weekday == 2 {
print("Monday")
}
注意:字符串检查if weekday == "Monday"
不安全,因为不同地区有不同的字符串。
您可以使用 weekday
属性 或 DateComponents
let now = Date()
let today = Calendar(identifier: .gregorian).component(.weekday, from: now)
if today == 2 {
print("It is Monday")
}
请注意,我使用的是公历而不是当前日历,因为工作日值在其他日历中可能会有所不同。