iphone - iOS从日期获取时间

标签 iphone ios date nsdate nsdateformatter

我正在开发一个应用程序,我需要解析一个实际上是这样的字符串的Tweet时间戳:

“2011年10月17日星期一10:20:40 +0000”

但是我只需要时间。所以我想要得到的是:

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
 [dateFormatter setDateFormat:@"HH:mm"];
 NSDate *date = [dateFormatter dateFromString:timestamp];

但是当我尝试使用NSLog打印日期时,输出为(null),我不明白为什么。如果可能的话,我需要的是仅创建带有时间的日期对象。确实,稍后我需要比较不同的日期,但我只关心时间。日期是否因天,月或年而不同并不重要,重要的是我可以将它们与“timeIntervalSinceDate”进行比较,以秒为单位进行区别。

任何帮助将不胜感激。

谢谢
麦酒

最佳答案

NSDATE是一个完整的日期对象,它需要一个日期和时间。
您可以使用NSDateFormatter仅显示时间,但是您将需要解析完整的字符串以获得NSDate对象。

您可以在此处使用一些代码:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//Mon, 11 Jul 2011 00:00:00 +0200
[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"EN"] autorelease]];
[dateFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss ZZZZ"];

NSDate *date = [dateFormatter dateFromString: timestamp];
[dateFormatter release], dateFormatter = nil;

您需要设置本地以确保其以正确的语言读取时间戳。
还要在任何循环外分配dateFormatter,并在完成循环后将其释放。

关于iphone - iOS从日期获取时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7796011/

相关文章:

iphone - iPhone 应用程序中出现奇怪的间歇性 "unrecognized selector"异常

iphone - 在标签中显示一个数字,但让它计算数字

ios - 添加一个小视频剪辑作为背景

iphone - setNeedsDisplay 仅被调用一次

iphone - 什么时候用 retain 什么时候用 copy

ios - 监听 UITextField setText

date - Google Calendar API 不接受具有正 UTC 偏移量的日期时间?

java - 使用Java保存日期: This field is not a valid date

android - Android 服务器时区的 JWT setExpiration

iphone - UIButton 优于 UIImageView(优于 UIScrollView)