iphone - 如何设置日期格式MMM dd,yyyy HH :mm in iPhone

标签 iphone objective-c ios5 nsdate nsdateformatter

我想以这种格式设置日期 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/

相关文章:

iphone - 在 iOS 中使用 XMPP 连接到 Openfire 服务器

iphone - 单元测试很棒,但是

iPhone:模糊 UIImage

objective-c - 如何将 tableviewCell 填充到另一个 View Controller ?

ios - 适用于 iOS 6 的新 Facebook SDK 在 iOS 5 中存在崩溃问题

iphone - 将表格 View 中的文字变成大写?

ios隐藏状态栏后向下移动ui View

ios - 动态类型的 View Controller

iphone - 我如何将 NSData 转换为 const uint8_t?或者在通过 Wifi 传递 NSData 时出现错误

iphone - 其余 Web 服务调用 - XML POST 请求 - iPhone