run*_*mad 5 iphone objective-c nsdate
我没有那么多地使用NSDate,所以我想要一些帮助我正在做的计算.
我有一个整数,从午夜开始,我的商店的收盘时间是几分钟.基本上,我的商店在下午5点关闭,这给了我整数1020.
所以现在是10.45PM或22.45.从00:00开始的整数是1365,我可以这样说
if (storeHour < currentTime) {
// closed!
}
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何从"22.45"得到我从NSDate到将其转换为表示自00:00以来的时间的整数.NSDate中有什么东西可以帮助我吗?
谢谢
我建议使用NSDate对象来存储商店关闭的时间,而不是使用您自己的自定义整数格式.不幸的是,它NSDate代表了约会的日期和时间.
无论如何,你可以检查NSDateComponents.您可以使用以下实用程序方法:
int minutesSinceMidnight:(NSDate *)date
{
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
unsigned unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit;
NSDateComponents *components = [gregorian components:unitFlags fromDate:date];
return 60 * [components hour] + [components minute];
}
Run Code Online (Sandbox Code Playgroud)
Swift 5 例如,给出自午夜以来的当前分钟数
let calendar = Calendar.current
let now = Date()
print(getMinutesSinceMidnight())
func getMinutesSinceMidnight() -> Int {
return (calendar.component(.hour, from: now) * 60 + calendar.component(.minute, from: now))
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3593 次 |
| 最近记录: |