QT如何快速获取当前系统的年、月、日、时、分、秒、毫秒的时间整数值

牧童吃五谷 2020-11-16 04:14:11
QT如何快速获取当前系统的年、月、日、时、分、秒、毫秒的时间整数值,包括window系统和linux系统的

虽然QDateTime可以获取到毫秒时间,但不知道如何快速分解出这7个整数值(虽然可以通过toString(...)函数获得字符串,但不是我需要的快速获得7个整数值的目标啊!)
...全文
17492 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
donwmufromdying 2020-11-23
  • 打赏
  • 举报
回复
使用std::chrono
sgyiliya 2020-11-18
  • 打赏
  • 举报
回复
yyyy-MM-dd hh:mm:ss.zzz 其中zzz是毫秒
牧牛童子 2020-11-16
  • 打赏
  • 举报
回复
CurrentDateTime getTime() { //年-月-日(YYmmdd) 时:分:秒(HHMMSS) 毫秒(MS) 微秒(USec) 纳秒(NSec) time_t timep; time (&timep); CurrentDateTime date; strftime(date.YMD_Str, sizeof(date.YMD_Str), "%Y-%m-%d",localtime(&timep) ); strftime(date.HMS_Str, sizeof(date.HMS_Str), "%H:%M:%S",localtime(&timep) ); //毫秒 struct timeb tb; ftime(&tb); sprintf(date.MS_Str,"%03d",tb.millitm); //微秒 struct timeval usectime; //long usec = 0; gettimeofday(&usectime, NULL); //usec = usectime.tv_sec * 1000000 + usectime.tv_usec; //printf("usectime:%ldus,%ldus\n",usec,usectime.tv_usec); //340483us snprintf(date.USec_Str,8,"%06ld",usectime.tv_usec); //纳秒 //long nsec = 0; struct timespec nsectime; clock_gettime(CLOCK_REALTIME, &nsectime); //nsec = nsectime.tv_sec * 1000000000 + nsectime.tv_nsec; //printf("nsectime:%ldns,%ldns\n",nsec,nsectime.tv_nsec); //340487042ns snprintf(date.NSec_Str,14,"%09ld",nsectime.tv_nsec); return date; }
mideum 2020-11-16
  • 打赏
  • 举报
回复 3
QDateTime可以从date()和time()取到QDate和QTime
QDate有year(), month(), day()
QTime有hour(), minute(), second(), msec()
橘子味芥末豆 2022-09-01
  • 举报
回复
@mideum 有用,谢谢老哥

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧