当前位置: 首页 > news >正文

小门户网站开发网站的网站搭建

小门户网站开发,网站的网站搭建,网站备案中国开头,wordpress 权限 分类std::chrono是C11引入的标准库,用于时间的计算和处理。它按照ISO8601标准定义了多个时间类,例如:duration(持续时间)、time_point(时间点)和clock(时钟)。以下是一些常见…

std::chrono是C++11引入的标准库,用于时间的计算和处理。它按照ISO8601标准定义了多个时间类,例如:duration(持续时间)、time_point(时间点)和clock(时钟)。以下是一些常见的用法:

1. 计算程序运行时间


#include <iostream>
#include <string>
#include <chrono>
#include <unistd.h>
#include <sstream>
#include <iomanip>
#include <thread>int main(int argc, char *argv[])
{  //1. 计算耗时auto start = std::chrono::system_clock::now();//std::chrono::time_point start = std::chrono::system_clock::now();int32_t j = 0;for(int i=0;i<10000;i++){j++;}        //sleep(1);std::this_thread::sleep_for(std::chrono::seconds(1));auto end = std::chrono::system_clock::now();auto diff1 = std::chrono::duration_cast<std::chrono::seconds>(end - start).count();         //秒auto diff2 = std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count();    //毫秒auto diff3 = std::chrono::duration_cast<std::chrono::microseconds> (end - start).count();   //微妙auto diff4 = std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count();     //纳秒//std::chrono::minutes//std::chrono::hours    std::cout<<"diff1 is: "<<diff1<<std::endl;std::cout<<"diff2 is: "<<diff2<<std::endl;std::cout<<"diff3 is: "<<diff3<<std::endl;std::cout<<"diff4 is: "<<diff4<<std::endl;return 0;
}

输出

diff1 is: 1
diff2 is: 1001
diff3 is: 1001608
diff4 is: 1001608504

2. 等待时间

线程的等待时间

std::this_thread::sleep_for(std::chrono::seconds(1));

3. 获取当前时间以及时间转换

获取当前时间

auto nowTime = std::chrono::system_clock::now();
std::time_t t = std::chrono::system_clock::to_time_t(nowTime);
std::cout << "nowTime is: " << std::ctime(&t) << std::endl;    

输出

nowTime is: Fri Jun  9 08:01:18 2023

时间转换
在工作中上述的时间不是我们需要的,通常用到的时间为string和int类型:

类型说明
2023-06-09 08:01:18string类型
1686297678int64类型(秒级,10位)
1686297678549int64类型(毫秒级,13位)
1686297678549829int64类型(微妙级,16位)
1686297678549829794int64类型(纳秒级,19位)

时间类型的转换

转换类型转换类型
time_point -> stringtime_point -> int64
string -> time_pointstring -> int64
int64 -> stringint64 -> time_point

测试demo

time_conversion.hpp文件的下载地址

/** @brief: example about time format conversion by chrono* @data: 2023/06/09* @complie: g++ -g main.cc time_conversion.hpp -o d -std=c++11* @author: guokerenjian* @lastEditDate: */#include <iostream>
#include "time_conversion.hpp"using namespace t_convert;int main()
{TimeConvert tc;auto nowTime = std::chrono::system_clock::now();std::time_t t = std::chrono::system_clock::to_time_t(nowTime);std::cout << "nowTime is: " << std::ctime(&t) << std::endl;    //1.time_point -> stringstd::cout<<"time_point -> string"<<std::endl;std::string strTime;if(tc.timePointToString(nowTime, strTime)){std::cout<<"strTime is: "<<strTime<<"\n\n";}else{std::cout<<"failure"<<std::endl;}    //2.time_point -> int64std::cout<<"time_point -> int64"<<std::endl;int64_t itime{0};if(tc.timePointToInt64(nowTime, itime, TIME_TYPE::SECOND_TIME))  //秒{std::cout<<"itime is: "<<itime<<"\n";    }if(tc.timePointToInt64(nowTime, itime, TIME_TYPE::MILLISSECOND_TIME))  //毫秒{std::cout<<"itime is: "<<itime<<"\n";    }if(tc.timePointToInt64(nowTime, itime, TIME_TYPE::MICROSECOND_TIME))  //微妙{std::cout<<"itime is: "<<itime<<"\n";    }if(tc.timePointToInt64(nowTime, itime, TIME_TYPE::NANOSECOND_TIME))  //纳秒{std::cout<<"itime is: "<<itime<<"\n\n";    }    //3.string -> time_pointstd::cout<<"string -> time_point"<<std::endl;decltype(nowTime) resultTime;if(tc.stringToTimePoint(strTime, resultTime)){std::time_t t_result = std::chrono::system_clock::to_time_t(resultTime);std::cout << "resultTime is: " << std::ctime(&t_result) <<"\n\n";}    //4.string -> int64std::cout<<"string -> int64"<<std::endl;int64_t time_int{0};if(tc.stringToInt64(strTime, time_int)){std::cout<<"time_int is: "<<time_int<<"\n\n";}//5.int64 -> time_pointstd::cout<<"int64 -> time_point"<<std::endl;decltype(nowTime) resultTimeFromeInt;    int64_t time_test{0};if(tc.timePointToInt64(nowTime, time_test, TIME_TYPE::UNKOWN) && tc.Int64ToTimePoint(time_test,resultTimeFromeInt)){std::time_t t_result_int = std::chrono::system_clock::to_time_t(resultTimeFromeInt);std::cout << "t_result_int is: " << std::ctime(&t_result_int) <<"\n";}if(tc.timePointToInt64(nowTime, time_test, TIME_TYPE::MILLISSECOND_TIME) && tc.Int64ToTimePoint(time_test,resultTimeFromeInt)){std::time_t t_result_int = std::chrono::system_clock::to_time_t(resultTimeFromeInt);std::cout << "t_result_int is: " << std::ctime(&t_result_int) <<"\n";}if(tc.timePointToInt64(nowTime, time_test, TIME_TYPE::MICROSECOND_TIME) && tc.Int64ToTimePoint(time_test,resultTimeFromeInt)){std::time_t t_result_int = std::chrono::system_clock::to_time_t(resultTimeFromeInt);std::cout << "t_result_int is: " << std::ctime(&t_result_int) <<"\n";}if(tc.timePointToInt64(nowTime, time_test, TIME_TYPE::NANOSECOND_TIME) && tc.Int64ToTimePoint(time_test,resultTimeFromeInt)){std::time_t t_result_int = std::chrono::system_clock::to_time_t(resultTimeFromeInt);std::cout << "t_result_int is: " << std::ctime(&t_result_int) <<"\n\n";}//6.time_point -> stringstd::cout<<"time_point -> string"<<std::endl;std::string str_time_result;if(tc.Int64ToString(time_test, str_time_result)){std::cout<<"str_time_result is: "<<str_time_result<<std::endl;}    return 0;
}
http://www.yayakq.cn/news/30991/

相关文章:

  • 太原网站优化哪家专业合肥百度搜索优化
  • 智联招聘网站可以做两份简历吗找回原来的百度
  • 手机网站开发者工具设计一个个人网站的基本步骤
  • 潍坊程序设计网站建设公司常州好搜网络科技有限公司
  • 外贸网站后台海口网站建设公司哪个好
  • 秀山网站建关于建设单位网站的方案
  • 24小时自动发货网站建设连锁酒店设计网站建设
  • 网站开发简历模板深圳12个区地图
  • 环保企业网站模板泉州刺桐古建筑公司网站
  • 怎么给网站做外链邵连虎系统管理包括哪些内容
  • 建筑公司网站的目标用户宁波网络公司电话
  • 网站** 教程深圳网站建设 卓
  • 途牛旅游网站建设背景重庆知道推广网站方法
  • 热度网络网站建设wordpress配置七牛cdn
  • 上海网站制作上海网站制作邯郸网站开发定制
  • 网站关键词修改网站建设的技巧
  • 织梦开发网站芜湖市建设银行支行网站
  • 网站升级改版摄影作品投稿平台
  • 用phpnow搭建网站的整个流程网页修改和编辑的软件有哪些
  • 如何做自助搜券网站做视频网站用什么源码
  • wordpress 手机站目录seo在线诊断工具
  • 网页首站工商注册公司名称核准
  • 成都网站公司ccyy切换路线专线
  • 外贸网站建设 深圳网站建设课程设计内容
  • 石家庄中小企业网站制作重庆公司做网站
  • 青浦网站设计常州 网站设计
  • 100个免费推广网站定制网站与模板建站维护
  • 网站建设公司好发信息网网络销售推广是做什么的具体
  • 中国网站建设的利弊中资源 网站域名解析
  • 网站没有做伪静态是什么样子创鑫时代广告公司简介