我从 Web 服务获取日期和时间作为字符串,这些日期和时间看起来像“2013-10-29”和“11:30”(或“23:30”),但我想显示像“2013 年 10 月 29 日”和时间是“11:30 AM”(或“11:30 PM”)。关于此类问题,我已经经历了很多答案,但是当我尝试返回“null”而没有错误或警告时。请帮助我...
问问题
14820 次
3 回答
11
应用此代码,使用您的属性更改手动编码的时间和日期,它应该可以工作。
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate * dateNotFormatted = [dateFormatter dateFromString:@"2013-10-29"];
[dateFormatter setDateFormat:@"d MMM.YYYY"];
NSString * dateFormatted = [dateFormatter stringFromDate:dateNotFormatter];
[dateFormatter setDateFormat:@"HH:mm"];
NSDate * timeNotFormatted = [dateFormatter dateFromString:@"11:30"];
[dateFormatter setDateFormat:@"hh:mm a"];
NSString * timeFormatted = [dateFormatter stringFromDate:timeNotFormatter];
另一种选择是将更严格的时间和日期放在一个字符串中,并使用以下格式:
[dateFormatter setDateFormat:@"d MMM.YYYY at hh:mm a"];
于 2013-10-28T11:01:55.850 回答
0
使用NSDateFormatter。在第一种情况下,您的格式将是:,,,@"yyyy-MM-dd"
在@"HH:mm"
第二种情况下:@"dd MMM.yyyy"
,@"hh:mm a"
于 2013-10-28T10:55:35.343 回答
0
首先结合日期和时间,如“2013-10-29 11:30”
比使用以下函数,如 [self dateFormat:@"yyyy-NN-dd HH:ss" newFormat:@"dd MMM.yyyy hh:mm a"]
- (NSString*) dateFormat : (NSString*)date currentFormat:(NSString*) currentFormat newFormat : (NSString*) newFormat
{
NSString *dateStr = date;
NSDateFormatter *dtF = [[NSDateFormatter alloc] init];
[dtF setDateFormat:currentFormat];
NSDate *d = [dtF dateFromString:dateStr];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:newFormat];
NSString * strFinalDate = [dateFormat stringFromDate:d];
NSLog(@"%@",strFinalDate);
[dtF release];
[dateFormat release];
return strFinalDate;
}
如果您希望日期和时间不同于使用 NSArray 将其分开。
于 2013-10-28T10:57:56.813 回答