c++ chrono 获取当前时间的实现代码

 更新时间:2023年07月07日 08:59:50   作者:MeepoB  
这篇文章主要介绍了c++ chrono 获取当前时间的实现代码,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

c++ chrono 获取当前时间

#include <chrono>
#include <iostream>
#include <format>
namespace chrono = std::chrono;
    void showCurrentMonth() {
        // 获取当前时间
        chrono::time_point now{ chrono::system_clock::now() };
        // 将时间转换为year_month_day
        chrono::year_month_day ymd{ chrono::floor<chrono::days>(now) };
        // 获取当前年月(类型为year_month)
        chrono::year_month currentYearMonth = ymd.year() / ymd.month();
    }
    // 获取当月第一天
    const auto firstDay = yearMonth / 1d;
    // 获取当月最后一天
    const auto lastDay = chrono::year_month_day(yearMonth / chrono::last);
    // 输出格式化的标题(年份与月份)
    std::string titleLine = std::format("** {:%Y-%m} **", yearMonth);
    // 输出日历表头(从周一到周日)
    std::vector<std::string> headerLineParts;
    for (const auto& weekday : Weekdays) {
        headerLineParts.push_back(std::format(ZhCNLocale, "{:L%a}", weekday));
    }
   // 通过weekday获取某一天是周几            
    auto currentWeekday = chrono::weekday{ std::chrono::sys_days{ currentDay } };            
    // 通过iso_encoding获取周几的编码(1-7)            
    auto currentWeekdayIndex = currentWeekday.iso_encoding() - 1;             
    // 计算本周第一天            
    auto firstDayOfWeek = chrono::year_month_day{ std::chrono::sys_days{ currentDay } - chrono::days(currentWeekdayIndex) }; 

C++标准库用chrono获取时间

C++有2种常用的获取当前时间的方式。本次主要围绕chrono展开。我的需求是,获取当前时间,并且打印到屏幕上。然后我就使用了这个system_clock::now()

错误示范
#include <iostream>
#include <chrono>
using namespace std;
int main(){
    auto start = std::chrono::system_clock::now();
    cout<<"today is"<<start<<endl;
}

使用上面这段代码并不行!因为start没有重载<<运算符。打印需要结合其他工具。如下:

#include <iostream>
#include <chrono>
using namespace std;
int main(){
    auto start = std::chrono::system_clock::now();
    std::time_t tt;
    tt=std::chrono::system_clock::to_time_t(start);
    string t=ctime(&tt);
    cout<<"today is"<<t<<endl;
}

到此这篇关于c++ chrono 获取当前时间的文章就介绍到这了,更多相关c++ chrono 获取当前时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言中的数据类型详解

    C语言中的数据类型详解

    在C语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式,本文将详细给大家介绍一下C语言中的基本数据类型,感兴趣的同学可以参考下
    2023-05-05
  • C++数据结构之哈希算法详解

    C++数据结构之哈希算法详解

    这篇文章主要为大家详细介绍了C++数据结构中哈希算法的相关资料,文中的示例代码讲解详细,具有一定的借鉴价值,希望对大家有所帮助
    2022-12-12
  • C语言中的BYTE和char深入解析

    C语言中的BYTE和char深入解析

    在C语言中,字符(character)这个术语具有两个层次上的含义:书写源程序的字符和程序处理的字符
    2013-10-10
  • C语言strcpy库函数详解

    C语言strcpy库函数详解

    这篇文章主要为大家介绍了C语言strcpy库函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • Java C++ 算法leetcode828统计子串中唯一字符乘法原理

    Java C++ 算法leetcode828统计子串中唯一字符乘法原理

    这篇文章主要为大家介绍了Java C++ 算法leetcode828统计子串中唯一字符乘法原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • C语言 以字符形式读写文件详解及示例代码

    C语言 以字符形式读写文件详解及示例代码

    本文主要介绍C语言 以字符形式读写文件,这里整理了读写文件的一些资料并附示例代码,供大家学习参考,有需要的小伙伴可以参考下
    2016-08-08
  • 浅析c与c++中struct的区别

    浅析c与c++中struct的区别

    c与c++中struct的区别你是否了解,下面小编就详细的为大家介绍一下
    2013-07-07
  • C语言实现散列表(哈希Hash表)实例详解

    C语言实现散列表(哈希Hash表)实例详解

    这篇文章主要介绍了C语言实现散列表(哈希Hash表)实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • C语言利用UDP实现群聊聊天室的示例代码

    C语言利用UDP实现群聊聊天室的示例代码

    UDP是一个轻量级、不可靠、面向数据报的、无连接的传输层协议,多用于可靠性要求不严格,不是非常重要的传输,如直播、视频会议等等。本文将利用UDP实现简单的群聊聊天室,感兴趣的可以了解一下
    2022-08-08
  • 浅谈C++重载、重写、重定义

    浅谈C++重载、重写、重定义

    下面小编就为大家带来一篇浅谈C++重载、重写、重定义。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06

最新评论