NSDate *today = [NSDate date]; NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"EEE,MMM. dd"]; Nsstring *dateString = [dateFormat stringFromDate:today]; NSLog(@"%@",dateString);
我的输出是:12月10日星期二,我想显示:TUE,12月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中的NSDateFormatter对象中大写缩短的星期几全部内容,希望文章能够帮你解决尝试在iOS中的NSDateFormatter对象中大写缩短的星期几所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)