gpt4 book ai didi

ios - 尝试在 iOS 的 NSDateFormatter 对象中使用星期几的缩写

转载 作者:可可西里 更新时间:2023-11-01 06:18:56 25 4
gpt4 key购买 nike

我正在 iOS 中开发一个应用程序,其中有一个 NSDateFormatter 对象,如下所示:

NSDate *today = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EEE, MMM. dd"];
NSString *dateString = [dateFormat stringFromDate:today];
NSLog(@"%@", dateString);

我的输出是:Tue, Dec. 10,我想改为显示:TUE, Dec. 10。

但我的问题是星期几只有第一个字母大写,而不是一整天(即我得到“星期二”,我想显示“TUE”)。月份的格式很好(即“Dec”我很满意)。

我已经检查了有关日期格式的规范,不幸的是,没有使用 NSDateFormatter 类的常规方法来执行此操作。有没有办法解决这个问题,只在不触及月份的情况下仍然将星期几中的所有缩写字母大写?

最佳答案

无法直接使用日期格式化程序来完成此操作。最简单的方法是在格式化日期后处理字符串。

NSString *dateString = [dateFormat stringFromDate:today];
dateString = [NSString stringWithFormat:@"%@%@", [[dateString substringToIndex:3] uppercaseString], [dateString substringFromIndex:3]];

更新:

上面假设 EEE 总是给出 3 个字母的工作日缩写。可能存在某些区域设置或语言,此假设无效。更好的解决方案如下:

NSString *dateString = [dateFormat stringFromDate:today];
NSRange commaRange = [dateString rangeOfString:@","];
dateString = [NSString stringWithFormat:@"%@%@", [[dateString substringToIndex:commaRange.location] uppercaseString], [dateString substringFromIndex:commaRange.location]];

关于ios - 尝试在 iOS 的 NSDateFormatter 对象中使用星期几的缩写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20505619/

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