毫秒计数转化为std::tm以及SYSTEM

简介: 毫秒计数转化为std::tm以及SYSTEM
#include <windows.h>
#include <chrono>
#include <ctime>
#include <iostream>
using namespace std;
LONGLONG GetCurTime()
{
  return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
}
int main()
{
  INT64 milli = GetCurTime() + (INT64)8 * 60 * 60 * 1000;//此处转化为东八区北京时间,如果是其它时区需要按需求修改
  auto mTime = std::chrono::milliseconds(milli);
  auto tp = std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds>(mTime);
  auto tt = std::chrono::system_clock::to_time_t(tp);
  std::tm* now = std::gmtime(&tt);
  printf("%4d年%02d月%02d日 %02d:%02d:%02d\n", now->tm_year + 1900, now->tm_mon + 1, now->tm_mday, now->tm_hour, now->tm_min, now->tm_sec);
    //struct tm结构和struct SYSTEMTIME结构的年和月的取值范围是不一样的 :
    //tm.tm_mon = systemtime.wMonth - 1
    //tm.tm_year = systemtime.wYear - 1900
    SYSTEMTIME st;
  st.wYear = now->tm_year + 1900;
  st.wMonth = now->tm_mon + 1;
  st.wDayOfWeek = now->tm_wday;
  st.wDay = now->tm_mday;
  st.wHour = now->tm_hour;
  st.wMinute = now->tm_min;
  st.wSecond = now->tm_sec;
  st.wMilliseconds = 0;
    while (1);
  return 0;
}
相关文章
|
21天前
将毫秒数量转换为时分秒字符串(毫秒数→转换为→00:00:00.000或00天00时00分00秒000毫秒形式)
将毫秒数量转换为时分秒字符串(毫秒数→转换为→00:00:00.000或00天00时00分00秒000毫秒形式)
|
21天前
|
Java
Java中Long转Int转字符串Int转Long以及Int超出长度判断
Java中Long转Int转字符串Int转Long以及Int超出长度判断
20 0
|
7月前
|
JSON 小程序 JavaScript
小程序返回的时间戳转化成时间
小程序返回的时间戳转化成时间
26 0
|
Java
java判断当前时间是否在某个时间区间内(可精确到毫秒)
java判断当前时间是否在某个时间区间内(可精确到毫秒)
715 0
java判断当前时间是否在某个时间区间内(可精确到毫秒)
|
JavaScript Dubbo 小程序
还在用 System.currentTimeMillis() 统计代码耗时?太 Low 啦
还在用 System.currentTimeMillis() 统计代码耗时?太 Low 啦
Java_Date_01_判断两个时间相差的天数
    二、参考资料 1.java 判断两个时间相差的天数 2.java计算两个日期之间相差天数和相隔天数详解
1365 0

热门文章

最新文章