CodeGym
AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • std::chrono::duration — 时间

    C++ SELF
    等级 66,课时 0
    我们来解析 std::chrono::duration 类型如何将“以数字表示的超时”转化为类型安全的时间间隔:现成的单位( std::chrono::milliseconds, std::chrono::seconds, std::chrono::minutes)、无需过早调用 .count() 的算术、通过 std::chrono::duration_cast 进行显式转换、对精度的谨慎处理(包括 std::chrono::duration<double>),以及在设计 API 时将单位作为契约的一部分。
    可用
  • time_point 和 system_clock — “时间点”

    C++ SELF
    等级 66,课时 1
    讲解为什么在 C++ 中“时间点”是一个独立类型 std::chrono::time_point,而不是简单的数字: std::chrono::system_clock 如何定义纪元( epoch),如何通过 time_since_epoch() 和 duration_cast 安全地获取并保存时间戳,哪些关于时间点的操作是有意义的( time_point ± duration),以及如何构建实用工具(创建任务、计算年龄)。最后 — 常见错误以及为什么用于测量持续时间更适合使用 steady_clock。
    可用
  • steady_clock vs system_clock

    C++ SELF
    等级 66,课时 2
    讲解 std::chrono::system_clock 与 std::chrono::steady_clock 的区别:哪些适合用于“何时发生”(时间戳、保存到文件、 time_since_epoch()),哪些适合用于“耗时多久”(单调测量, time_point → duration, duration_cast)。通过示例迷你应用 TaskBook 展示如何正确存储时间并稳定测量持续时间,并分析典型错误。
    可用
  • 超时与截止时间 — wait_for / wait_until 的思想

    C++ SELF
    等级 66,课时 3
    我们来分析为什么像 1000 这样的“神奇数字”出现在超时中会导致 bugs,如何通过类型表达时间的含义: std::chrono::duration 和 std::chrono::time_point,超时和截止时间有何不同,以及为什么标准库常常提供两种等待形式: wait_for(间隔) 和 wait_until(时刻)。在实践中我们构建一个基于 steady_clock 的“迷你框架”,通过 duration_cast 计算剩余时间,并讨论常见错误(通过 count() 比较、在循环中更新截止时间、选择错误的时钟)。
    可用
  • 日期和时间存储 — 简单的格式策略

    C++ SELF
    等级 66,课时 4
    讲解在 C++ 项目中实用的“微标准”来存储时间:如何避免在单位上混淆、为什么时间是语义上的约定、如何将时刻存为数字(建议使用 std::int64_t 表示自纪元起的毫秒)、如何在 std::chrono::system_clock::time_point ↔ 数字 ↔ 字符串 之间转换、 system_clock 和 steady_clock 有何不同,以及如何通过 std::put_time 打印日历时间。
    可用
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym