我想获取当前小时和分钟的整数。因此,如果现在是凌晨 3:16,我想获取两个整数:3 和 16。
但看起来像[NSDate date]
将给出自 1970 年以来的秒数,或者它可以给出当前时间表示的字符串,但没有简单的方法将它们获取为整数?
我看到一个帖子获取当前时间 https://stackoverflow.com/questions/9317320/getting-current-time,但它涉及到NSDateComponents
and NSCalendar
?这太复杂了……所需要的只是
NSDate *date = [NSDate date];
int hour = [date getHour]; // which is not possible
有没有比使用 3 个类更简单的方法NSDate
, NSDateComponents
, and NSCalendar
要获取整数形式的当前小时,或者通常情况下,在 Objective-C 中,我们通常仍然使用 C 语言的localtime
and tm
获取整数小时?
如何解释自 1970 年以来的秒数取决于您所使用的日历。根本没有其他选择。幸运的是,设置起来并不困难。有关大量示例,请参阅“数据和时间编程指南”。在你的情况下:
// Assume you have a 'date'
NSCalendar *gregorianCal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComps = [gregorianCal components: (NSHourCalendarUnit | NSMinuteCalendarUnit)
fromDate: date];
// Then use it
[dateComps minute];
[dateComps hour];
所以它真的没那么复杂。
另请注意,您可以创建一个“类类别”来将其封装为:
@interface NSDate (MyGregorianDateComponents)
- (NSInteger) getGregorianHour;
- (NSInteger) getGregorianMinute;
@end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)