29,027
社区成员
发帖
与我相关
我的任务
分享
- (void) myTimer
{
uint64_t u64Time = 0;
unsigned int uiSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
fd_set fdread;
timeval seltime;
seltime.tv_sec = 0;
seltime.tv_usec = 100;
uint64_t u64BeginTime = 0;
uint64_t u64CurTime = 0;
for ( ; m_bRunTimer; )
{
NSDate* date = [NSDate dateWithTimeIntervalSinceNow:0];
NSTimeInterval ti = [date timeIntervalSince1970] * 1000;
if ( !u64BeginTime )
{
u64BeginTime = ti;
}
u64CurTime = ti;
FD_ZERO(&fdread);
FD_SET(uiSocket, &fdread);
select(uiSocket + 1, &fdread, NULL, NULL, &seltime);
u64Time = u64CurTime - u64BeginTime;
uint64_t u64Hour = u64Time / ( 1000 * 60 * 60 );
uint64_t u64Minute = u64Time / ( 1000 * 60 ) % 60;
uint64_t u64Second = u64Time / 1000 % 60;
uint64_t u64Msec = u64Time % 1000;
NSString *strTime = [ [NSString alloc] initWithFormat:@"%02llu:%02llu:%02llu.%03llu", u64Hour, u64Minute, u64Second, u64Msec];
dispatch_async(dispatch_get_main_queue(), ^{
self.m_tfTime.stringValue = strTime;
self.m_tfTimeMSec.stringValue = [[NSString alloc] initWithFormat:@"%010llu", u64Time ];
});
}
}
需要什么时间级别的,,修改这个
timeval seltime;
seltime.tv_sec = 0;
seltime.tv_usec = 100;
的值即可。