ios - 日历与设置无关
问题描述
在应用程序中,我使用星期几来打开成就。
let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEEE"
let dayInWeek = dateFormatter.string(from: date)
if dayInWeek == "Monday" {
achiv = true
}
我在应用程序中使用英语、俄语和乌克兰语。问题是如果电话是英文的,这个条件是有效的。帮助通过此方法,以使条件适用于设备上的语言。
解决方案
您可以使用 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"
是不安全的,因为不同的地区有不同的字符串。
推荐阅读
- java - 在抽象方法中添加一般参数 (Java)
- css - CSS彩虹动画的同步
- sql - 用特定字符串而不是分隔符拆分 SQL 字符串?
- android - 更新在 Google App Signing 中注册的应用程序
- list-comprehension - Rebol 中用于列表理解的“编译器”
- react-native - 在 React Native 中将 Fetch 请求传递给另一个 Fetch 请求
- python - 从 Matplotlib 图中提取数据
- attributes - 如何在 phtml Magento 2 上回显视觉样本
- angular - 如何只获取传入的 observable 中的一个字段?
- docker - 无法从 docker 容器中连接到主机 ADB