获取当前系统本地时间,精确到毫秒的实例

 更新时间:2017年11月03日 09:09:35   作者:独孤酷酷  
下面小编就为大家带来一篇获取当前系统本地时间,精确到毫秒的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

实例如下:

#include <sys/timeb.h>
#include <chrono>

char* cur_time_c(char strDateTime[32])
{
 struct timeb tp_cur;
 ftime(&tp_cur);

 struct tm btm;

#ifdef WIN32
 localtime_s(&btm, &tp_cur.time);
#else
 localtime_r(&tp_cur.time, &btm);
#endif

 sprintf(strDateTime, "%04d-%02d-%02d %02d:%02d:%02d.%03d", 
  btm.tm_year + 1900, btm.tm_mon + 1, btm.tm_mday,
  btm.tm_hour, btm.tm_min, btm.tm_sec, tp_cur.millitm);

 return strDateTime;
}


char* cur_time_cpp11(char strDateTime[32])
{
 static const std::chrono::hours = EIGHT_HOURS(8);

 auto nowLocalTimeCount 
  = std::chrono::system_clock::now().time_since_epoch()
  + EIGHT_HOURS;

 std::chrono::hours now_h
  = std::chrono::duration_cast<std::chrono::hours>(nowLocalTimeCount);
 std::chrono::minutes now_m
  = std::chrono::duration_cast<std::chrono::minutes>(nowLocalTimeCount);
 std::chrono::seconds now_s
  = std::chrono::duration_cast<std::chrono::seconds>(nowLocalTimeCount);
 std::chrono::milliseconds now_ms
  = std::chrono::duration_cast<std::chrono::milliseconds>(nowLocalTimeCount);

 sprintf(strDateTime, "%02d:%02d:%02d.%03d", 
  now_h % 24, now_m % 60, now_s % 60, now_ms % 1000);

 return strDateTime;
}

以上这篇获取当前系统本地时间,精确到毫秒的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C语言柔性数组的实现示例

    C语言柔性数组的实现示例

    柔性数组既数组大小待定的数组, C语言中结构体的最后一个元素可以是大小未知的数组,本文就来介绍一下柔性数组的用法,感兴趣的可以了解一下
    2024-03-03
  • C语言实现通讯录的八种功能(添加、删除、查找、修改、显示、排序、退出、清空)

    C语言实现通讯录的八种功能(添加、删除、查找、修改、显示、排序、退出、清空)

    本文主要介绍了C语言实现通讯录的八种功能,主要包括添加、删除、查找、修改、显示、排序、退出、清空,感兴趣的可以了解一下
    2023-09-09
  • C++ 十进制转换为二进制的实例代码

    C++ 十进制转换为二进制的实例代码

    这篇文章介绍了C++ 十进制转换为二进制的实例代码,有需要的朋友可以参考一下
    2013-10-10
  • C语言数据结构之单链表操作详解

    C语言数据结构之单链表操作详解

    链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。本文将和大家一起聊聊C语言中单链表的常用操作,感兴趣的可以学习一下
    2022-07-07
  • c++ 调用python传输图片实例

    c++ 调用python传输图片实例

    今天小编就为大家分享一篇c++ 调用python传输图片实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • C++类的大小介绍

    C++类的大小介绍

    这篇文章主要介绍了C++类的大小,在C++中,结构体和类的唯一区别就是结构体和类具有不同的默认访问控制属性,下面一起进入文章查看详细内容
    2021-11-11
  • 模拟鼠标事件的实现思路及代码

    模拟鼠标事件的实现思路及代码

    这篇文章主要介绍了模拟鼠标事件的实现思路及代码,有需要的朋友可以参考一下
    2013-12-12
  • C++空指针void*的使用方法

    C++空指针void*的使用方法

    C++空指针void是一种通用指针类型,可以指向任何类型的数据或对象。它不关心指向的数据或对象的类型,只关心指针本身的地址,在使用void指针时,需要将其转换为特定类型的指针,以便对其进行操作或访问其值,本文就给大家介绍一下C++空指针void的使用方法
    2023-06-06
  • 对C语言编程标准以及声明的基本理解

    对C语言编程标准以及声明的基本理解

    这篇文章主要介绍了对C语言编程标准以及声明的基本理解,有助于对C语言编写时的结构有更加清晰的认识,需要的朋友可以参考下
    2015-11-11
  • 简单讲解C语言中宏的定义与使用

    简单讲解C语言中宏的定义与使用

    这篇文章主要介绍了C语言中宏的定义与使用,是C语言入门学习中的基础知识,需要的朋友可以参考下
    2016-05-05

最新评论