如何使用NSDateFormatter只获得小时和分钟的完整时间戳?

时间:2011-03-02 20:37:12

标签: iphone nsdate nsdateformatter

我认为这只是一个小问题。经过一段时间的搜索,我仍然无法弄明白。希望你能。 : - )

我想获得今天的完整时间戳,通过自己的时间和分钟。 我的方法如下(例如dateStr是@“11:30”):

NSDateFormatter *myFormatter = [[[NSDateFormatter alloc] init] autorelease];
[myFormatter setTimeZone:[NSTimeZone systemTimeZone]];
[myFormatter setDateFormat:@"HH:mm"];
NSDate *tmpDate = [myFormatter dateFromString:dateStr];
[myFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZ"];
...???

所以现在我得到

  

1970-01-01 11:30:00 +0000

如果将dateStyle应用于我的NSDate并获取今天的正确日期,我该怎么做? 我知道我可以使用[NSDate date]来获取实际日期,但我可以做些什么来“操纵”只有几分钟和几小时?

很高兴能得到你们的帮助:)

1 个答案:

答案 0 :(得分:2)

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

NSDateComponents *components = [gregorian components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:[NSDate date]];
[components setHour:hour];
[components setMinute:minute];
NSDate *date = [gregorian dateFromComponents:components];

[gregorian release];