我希望将日期格式从“ 2013-01-21 11:55:00 ”更改为“ 2013年1月21日上午5:30 ”。< / p>
我尝试了以下代码。但它给出了一个固定的日期。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
NSDate *myDate = [NSDate dateWithTimeIntervalSinceReferenceDate:162000];
NSLog(@"%@",[dateFormatter stringFromDate:myDate]);
以上代码提供恒定输出:2001年1月3日凌晨2:30:00
但就我而言,约会是动态的。
答案 0 :(得分:2)
NSString *firstDate = @"2013-01-21 11:55:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd HH':'mm':'ss"];
NSDate *date = [dateFormatter dateFromString:firstDate];
[dateFormatter setDateFormat:@"MMM d, yyyy h:mm a"];
NSLog(@"Expected Result___ %@",[dateFormatter stringFromDate:date]);
答案 1 :(得分:1)
试试这个
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMM d, yyyy h:mm a"];
NSDate *myDate = [NSDate dateWithTimeIntervalSinceReferenceDate:162000];
NSLog(@"%@",[dateFormatter stringFromDate:myDate];
尝试[NSDate date]
而不是[NSDate dateWithTimeIntervalSinceReferenceDate:162000]
。
答案 2 :(得分:0)
你得到恒定的输出,因为你给出了162000的常量输入!!!
首先使用格式从字符串中获取日期,然后使用新格式从获取日期获取字符串
使用此输出格式为
@"MMM d, yyyy h:mm a"
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MMM d, yyyy h:mm a"];
NSLog(@"%@",[dateFormatter stringFromDate:[NSDate date]]);