我想以这种格式设置日期 MMM dd, yyyy HH:mm,我已经为此编写了代码,但有一些我不知道的错误。
NSDate *date = [NSDate date];
[format setDateFormat:@"MMM dd, yyyy HH:mm"];
NSLog(@"My date with out format = %@",date);
date = [format dateFromString:[format stringFromDate:date]];
NSLog(@"My date is = %@",date);
输出
我的日期格式 = 2012-06-22 09:53:46 +0000
我的日期是 = 2012-06-22 09:53:00 +0000
请帮助我哪里做错了。
提前致谢。
最佳答案
首先,NSDate
不知道有关日期格式的任何事情。这就是 NSDateFormatter
的用武之地。
date = [format dateFromString:[format stringFromDate:date]];
您在这里所做的是为给定格式创建一个字符串,这也会导致删除时区。而不是从该字符串创建一个新日期。由于它不再具有时区,因此将导致以 GMT
作为时区的日期。
但这仍然会导致 NSDate
保持秒数并且默认时区设置为 GMT
。
不需要创建一个新的日期对象,如果你想显示一个日期,只需要获取 stringFromDate:
方法返回的字符串。如果你这样做,它将起作用:
NSDate *date = [NSDate date];
[format setDateFormat:@"MMM dd, yyyy HH:mm"];
NSLog(@"My date with out format = %@",date);
NSString *dateString = [format stringFromDate:date];
NSLog(@"My date is = %@",dateString);
关于iphone - 如何设置日期格式MMM dd,yyyy HH :mm in iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11154126/