【问题标题】:How to get weekday in Swift regardless of the locale settings?无论区域设置如何,如何在 Swift 中获取工作日?
【发布时间】:2020-08-15 02:54:09
【问题描述】:

在我的 iOS 应用程序中,用户可以选择在哪一天激活某些操作,我将每个选择保存为 OptionSet 的原始值。这一切都很好。

但我需要一种将当前日期映射到所选选项的方法。如何根据选定的语言环境,根据星期是从星期日开始还是星期一开始,获得一些不会改变的工作日常量?

这个:

let weekDay = Calendar.current.component(.weekday, from: Date())

似乎是一个解决方案,但 Int 常量会根据区域设置而有所不同?根据 Apple 的非常简短的文档,这应该是公历星期日的 1

有什么方法可以让我从Date 获得始终相同的工作日?

我想将这些常量映射到我的OptionSet 标志,并据此决定在给定的一天内是否应该激活操作。

谢谢。

【问题讨论】:

  • 语言环境根本不会影响它。你会遇到更多时区问题。

标签: ios swift weekday


【解决方案1】:

您混淆了weekdayfirstWeekday

weekday 组件独立于语言环境,在公历中 1 始终是星期日,2 是星期一,等等。

【讨论】:

    猜你喜欢
    • 2014-04-10
    • 2012-02-14
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 2013-02-28
    相关资源
    最近更新 更多