返回

SWIFT-WEEKOFDAY不同于EN US本地,然后是EN UK,DE DE

发布时间:2022-05-06 19:46:20 387

我在我的应用程序中显示了一年中的一周,用户可以选择一周的第一天以及德语或英语本地化。我注意到一年中选择英语的那一周有一个奇怪的差别。

有人能解释一下出了什么问题吗?我检查了我们是否有不同的编号,但唯一的区别是,我们一周的第一天是星期天,而不是星期一......

import UIKit

func getCalForId(_ identifier: String, andLocale locale: String) -> Calendar {
    var cal = Calendar(identifier: .gregorian)
    cal.timeZone = TimeZone(identifier: identifier)!
    cal.locale = Locale(identifier: locale)
    
    return cal
}

func GetDateByString(_ value: String) -> Date {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "dd MMM yyyy HH:mm:ss Z"
    
    return dateFormatter.date(from: value)!
}

let calDE_Berlin = getCalForId("Europe/Berlin", andLocale: "de_DE")
var calUS_Chicago = getCalForId("America/Chicago", andLocale: "en_US")
var calUS_Berlin = getCalForId("Europe/Berlin", andLocale: "en_US")
let calUK_Berlin = getCalForId("Europe/Berlin", andLocale: "en_UK")
        
let date = GetDateByString("5 5 2022 18:45:32 +0200")

let weekDE_Berlin = calDE_Berlin.dateComponents([.weekOfYear], from: date).weekOfYear!
let weekUS_Chicago = calUS_Chicago.dateComponents([.weekOfYear], from: date).weekOfYear!
let weekUS_Berlin = calUS_Berlin.dateComponents([.weekOfYear], from: date).weekOfYear!
let weekUK_Berlin = calUK_Berlin.dateComponents([.weekOfYear], from: date).weekOfYear!

print(calDE_Berlin.firstWeekday)            // 2
print(calDE_Berlin.minimumDaysInFirstWeek)  // 4
print(calUS_Chicago.firstWeekday)           // 1
print(calUS_Chicago.minimumDaysInFirstWeek) // 1
print(calUS_Berlin.firstWeekday)            // 1
print(calUS_Berlin.minimumDaysInFirstWeek)  // 1
print(calUK_Berlin.firstWeekday)            // 2
print(calUK_Berlin.minimumDaysInFirstWeek)  // 4

print(weekDE_Berlin)  // 18
print(weekUS_Chicago) // 19
print(weekUS_Berlin)  // 19
print(weekUK_Berlin)  // 18

提前谢谢

当做

编辑添加了minimumDaysInFirstWeek.对德国来说似乎只是不同而已。但这并不能解释为什么基于en_US地区的日历会输出第19年的一周。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
相关帖子
下一篇
python-无头硒铬/铬下载不运行/保存 2022-05-06 18:43:43