gpt4 book ai didi

ios - 在任何国家/地区,weekdaySymbol 列表是否始终以星期日开头?

转载 作者:搜寻专家 更新时间:2023-10-30 22:14:25 25 4
gpt4 key购买 nike

我有这个代码:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSMutableArray *daysNames = [NSMutableArray arrayWithArray:dateFormatter.weekdaySymbols];
NSLog(@"daysNames = %@", daysNames);

它输出:

daysNames = (
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday
)

我的问题是:

如果用户位于美国以外的国家/地区,比如法国或俄罗斯,数组是否仍会从星期日(而不是星期一)开始,还是我不应该依赖于此?

关键是我设置了闹钟日。在视觉上,用户从 TableView 中进行选择,该 View 的第一行始终是星期一。我根据日期是否设置的事实在 NSMutableArray 中保留 0 或 1。如果 daysNames[0] 始终对应于星期日,我可以轻松地将所有元素向右移动一个位置,并且所有内容都将正确映射,否则当一周从星期一而不是星期日开始时,我会更头疼地处理一个案例。

这是我为此编写的完整代码(在美国完美运行):

// Set the short days names

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSMutableArray *daysNames = [NSMutableArray arrayWithArray:dateFormatter.weekdaySymbols];
NSLog(@"daysNames = %@", daysNames);

// daysNames will become @"SUN MON TUE WED THU FRI SAT";
for (NSInteger i = 0; i < daysNames.count; i++) {

NSUInteger length = ((NSString *)daysNames[i]).length;

if (length > 3) {
length = 3;
}

daysNames[i] = [daysNames[i] substringToIndex:length].uppercaseString;
}

NSString *sundayShortName = daysNames[0];

// daysNames will become @"MON TUE WED THU FRI SAT SUN";
for (NSInteger i = 1; i < daysNames.count; i++) {

daysNames[i - 1] = daysNames[i];
}

daysNames[daysNames.count - 1] = sundayShortName;

NSMutableArray *alarmDaysShortNames = [NSMutableArray array];

for (NSInteger i = 0; i < alarm.alarmDays.count; i++) {

if ([alarm.alarmDays[i] boolValue] == YES) {

[alarmDaysShortNames addObject:daysNames[i]];
}
}

alarmCell.alarmDaysLabel.text = [alarmDaysShortNames componentsJoinedByString:@" "];

最佳答案

是的。星期日始终是该列表中排在第一位的工作日。您可以查询 NSCalendar 以找出该列表中的哪个位置被认为是一周的开始(美国人的星期日,欧洲人的星期一,等等)。

关于ios - 在任何国家/地区,weekdaySymbol 列表是否始终以星期日开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27285661/

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