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

顺义免费网站建设做机械的老板都看什么网站

顺义免费网站建设,做机械的老板都看什么网站,翻译网站素材,关于国际贸易的网站和老板问了一下&#xff0c;今天就可以自己上手了&#xff1a; 用TSCNS写了一个cpp,运行出来老板说让我去看看另一个项目是怎么做的 用TSCNS和std库获取当前时间 #include <iostream> #include <iomanip> #include "tscns.h"using namespace std;TSCN…

和老板问了一下,今天就可以自己上手了:

用TSCNS写了一个cpp,运行出来老板说让我去看看另一个项目是怎么做的

用TSCNS和std库获取当前时间

#include <iostream>
#include <iomanip>
#include "tscns.h"using namespace std;TSCNS tn;int main() {// 初始化 TSCNS 对象tn.init();// 获取当前时间的纳秒级时间戳(UTC)int64_t timestamp_ns = tn.rdns();// 将纳秒时间戳转换为秒int64_t timestamp_sec = timestamp_ns / tn.NsPerSec;int64_t nanoseconds = timestamp_ns % tn.NsPerSec;  // 获取纳秒部分// 添加 8 小时偏移(以秒为单位)以获取北京时间int64_t beijing_time_sec = timestamp_sec + 8 * 3600;// 将秒转换为 tm 结构体std::time_t beijing_time_t = static_cast<std::time_t>(beijing_time_sec);std::tm beijing_time_tm = *std::gmtime(&beijing_time_t);  // 使用 gmtime 将其视为 UTC 时间处理// 格式化输出北京时间(精确到纳秒),不带冒号,格式为 YYYYMMDD HHMMSSnnnnnnnnncout << "Current Beijing Time: "<< std::put_time(&beijing_time_tm, "%Y%m%d ")<< std::setw(2) << std::setfill('0') << beijing_time_tm.tm_hour<< std::setw(2) << std::setfill('0') << beijing_time_tm.tm_min<< std::setw(2) << std::setfill('0') << beijing_time_tm.tm_sec<< std::setw(9) << std::setfill('0') << nanoseconds<< endl;return 0;
}
  • 初始化 TSCNS 对象:调用 tn.init() 初始化 TSCNS 对象 tn,完成基于 TSC(Time Stamp Counter)和系统时间的初始同步与校准。

  • 获取当前时间戳:通过 tn.rdns() 获取当前时间的纳秒值并将其存储到 timestamp 变量中。

  • 执行校准:调用 tn.calibrate() 方法进行校准。这是可选的,用于定期修正 TSC 和系统时间的误差。

  • 计算时间的小时、分钟、秒、毫秒和纳秒部分

    • timestamp 转换为秒和纳秒部分。
    • 使用整数除法和取余操作提取小时、分钟、秒等信息。
    • 将纳秒部分进一步转换为毫秒,剩余的部分保留为纳秒。
  • 输出格式化的时间

    • 使用 std::setfill('0')std::setw() 来格式化输出,使得小时、分钟和秒数都有两位数,毫秒为三位数。
    • 输出了两种格式:一种是精确到毫秒的格式(HHMMSSmmm),另一种是精确到纳秒的格式(HHMMSSnnnnnnnnn)。

一些零碎知识点

setfill('0')

setfill 是一个操纵器,用来设置输出时的填充字符。通常在输出较小数字时,如果不满足指定的宽度,可以使用填充字符填补前面的空位。

  • setfill('0') 的作用是将输出数字前面不足的部分用字符 '0' 填充。
  • 例如:在输出两位数的时间格式时,可以用 setfill('0') 来确保个位数前面会填充 0,以确保始终是两位数显示。

setw(width)

setw() 是一个操纵器,用来指定输出字段的宽度。它会影响接下来输出的一个值,将其宽度设置为指定的 width

  • 如果输出的值宽度小于 width,则在左侧用填充字符填充(默认是空格,使用 setfill 可以更改填充字符)。
  • 如果输出的值宽度大于或等于 width,则 setw() 会被忽略,不会截断数字

std库获取时间

  • 使用 std::chrono::system_clock::now() 获取当前系统时间。
  • 转换为 UTC 时间std::gmtime() 函数将 time_t 转换为 UTC 时间
  • std::time_t 是一个用于表示时间点的类型,通常表示自 Unix 纪元(1970 年 1 月 1 日 00:00:00 UTC)以来的秒数。std::time_t 是 C++ 标准库中的类型,
  • std::tm 结构体

    std::tm 结构体定义在 <ctime> 头文件中,包含了多个成员变量,每个成员变量表示日期和时间的不同组成部分。具体成员包括:

tm_mday小时(0 到 23)。

tm_hour

分钟(0 到 59)。
tm_sec秒(0 到 60,允许闰秒)。
tm_wday星期几(0 表示星期日)。
tm_yday从 1 月 1 日开始的天数(0 到 365)。

UTC时间

UTC 时间(协调世界时,Coordinated Universal Time)是一种标准时间,用于全球时间同步

UTC的特点

  • 不受时区影响:UTC 是全球统一的时间,不偏向任何一个时区。
  • 与 GMT 的关系:UTC 和格林尼治标准时间(GMT)相似,但 UTC 更精确。GMT 是历史上的一种时间标准,基于天文观测,UTC 则基于原子钟。
  • 没有夏令时:UTC 时间不会因季节变化而调整,因此不同国家或地区可以根据 UTC 时间确定本地时间的偏移量。

UTC 与时区

地球被划分为 24 个时区,每个时区都相对 UTC 有一个时差。例如:

  • 北京时间(CST)为 UTC+8,意味着北京时间比 UTC 时间早 8 小时。
  • 纽约时间(EST)为 UTC-5,但在夏令时为 UTC-4。

static_case

static_cast 是 C++ 中的一种类型转换方式,用于在编译时执行类型转换

static_cast<目标类型>(表达式);

static_cast<std::time_t>(beijing_time_sec) 将整数 beijing_time_sec 转换为 std::time_t 类型

auto关键字

auto 关键字

  • auto 是 C++ 中的类型自动推导关键字。在编译时,编译器会根据右侧表达式的类型推导出 auto 的实际类型。

::作用域解析运算符

:: 是 C++ 中的作用域解析运算符(Scope Resolution Operator)。它用于指定某个标识符(例如变量、函数、类)所在的命名空间或类作用域,以便编译器找到正确的定义。

TSCNS::NsPerSec 中,:: 表示 NsPerSecTSCNS 类中的一个静态成员变量。这里 TSCNS 是类名,而 NsPerSec 是该类的一个静态常量,:: 将它们连接起来,表示访问 TSCNS 类中的 NsPerSec 成员。

class TSCNS {
public:static const int64_t NsPerSec = 1000000000; // 每秒的纳秒数
};// 在其他地方访问
int64_t nanoseconds_in_a_second = TSCNS::NsPerSec;

老板说,1,不要用std库

2.不要setfill

http://www.yayakq.cn/news/162168/

相关文章:

  • 如何做网站新手引导网页设计一张多少钱
  • 如何进入google网站网站建设公司业务提成多少
  • 网站开发知识产权归属四川鼎能建设集团网站
  • 扁平化网站 psd免费网页制作系统团队
  • 海报生成器sem优化技巧
  • 做好公司网站苏州app制作公司
  • 廊坊安次区网站建设公司wordpress 文章在数据库
  • 电子商务网站建设实训销售平台的重要性
  • 广州建站模板厂家网站设计咨询网站
  • 网站建设知名企业网站开场flash怎么做的
  • 高端的培训行业网站开发网站推广网络推广
  • 辽宁建设工程信息网新网址百度快照如何优化
  • 北京网站建设代理电商网站建设存在哪些问题
  • wordpress仿站网中国产品设计网
  • html5微信网站模板工程建设的招标在哪个招标网站
  • 元谋网站建设python前端开发
  • 怎么塔建网站营销型网站建设 网络服务
  • 长沙网站设计培训学校手机电影网站怎么做的
  • 旅行社网站的建设开题报告适合ps做图的素材网站
  • 导购网站怎么做有特色江阴企业网站建设
  • 如何自己创造网站东莞网页设计费用报价
  • 做招聘网站赚钱么东莞做网站一般多少钱
  • 天津网站搜索排名优化东莞网站建设开发价格
  • 东阳网站建设dyfwzx关于港口码头发展建设的网站
  • 自助微信网站设计网站seo的优化怎么做
  • 帮别人做ppt赚钱的网站网页设计五个页面
  • 上海设计网站泰州市建设工程招标网
  • 动易6.8网站头少儿编程课程
  • 做网站要要多少钱团购网站开发与设计
  • 3d云打印网站开发单位网站平台建设汇报