You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C++中仅获取系统当前小时数

通用实现思路
  • 首先调用你已有的接口获取完整的系统时间对象(优先用原生时间类/结构体,不要直接处理字符串格式的时间)
  • 调用对应语言/平台提供的时间对象属性/方法,直接提取24小时制的小时数值,返回值范围为0~23
  • 自定义昼夜判断规则即可,常规参考规则可设为6点到18点判定为白天,其余时间判定为夜晚,可根据实际需求调整阈值
常见语言实现示例

Python

from datetime import datetime

current_hour = datetime.now().hour
# 昼夜判断示例
is_daytime = 6 <= current_hour < 18

不需要手动拆分datetime.now()返回的完整时间内容,直接取hour属性即可。

JavaScript(浏览器/Node.js)

const currentHour = new Date().getHours()
const isDaytime = currentHour >= 6 && currentHour < 18

getHours()方法直接返回24小时制的小时数。

Java

import java.time.LocalTime;

int currentHour = LocalTime.now().getHour();
boolean isDaytime = currentHour >= 6 && currentHour < 18;

Java 8+ 可以直接用LocalTime类只获取时间部分,也可以从完整的LocalDateTime对象中调用getHour()方法提取小时。

C#

int currentHour = DateTime.Now.Hour;
bool isDaytime = currentHour >= 6 && currentHour < 18;

直接从DateTime结构体的Hour属性获取小时值。

注意事项
  • 注意区分12小时制和24小时制的返回值:部分API如果返回12小时制的小时数,需要同时获取上午/下午标记(AM/PM)换算成24小时制再做判断,避免中午12点、凌晨12点的判断错误
  • 如果有跨时区需求,优先指定时区获取时间,避免用系统默认时区导致的判断偏差
  • 如果拿到的只有时间字符串,可以用对应语言的时间解析方法先把字符串转成时间对象,再提取小时,不要手动截取字符串,避免不同格式的时间字符串适配问题

内容的提问来源于stack exchange,提问作者agbagbgb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 01:54:04