首页 > 其他分享 >Fileheader 2.0.2 | times.h

Fileheader 2.0.2 | times.h

时间:2024-11-07 17:58:31浏览次数:3  
标签:返回 11 const Fileheader int times time 2.0

Download

times.h 提供了查询系统时间的通用方法

class::times

你可以通过声明一个 class::times 变量来调用查询系统时间

times a;
cout<<a.year();   //2024

times 返回的任何数据都是 std::string 类型的,你可以利用 hdk::tool::to_number(std::string) [tool.h] 来将其转为数字类型

下面是 times 的所有可调用方法

times_t short_weekname()    例: Mon
times_t weekname() 例: Monday
times_t short_monthname() 例: Nov
times_t monthname()  例:April
times_t date_and_time()  根据系统设置变化
times_t date_of_month()  返回日期,如 11 月 7 日时返回 7
times_t hours_24() 返回二十四小时制下小时数
times_t hours_12() 返回十二小时制下小时数
times_t date_of_year() 返回今天是本年第几天
times_t month() 返回此月是本年第几月
times_t minute() 返回分钟
times_t times_12() 返回 “PM“ “AM“ 的其中之一
times_t second() 返回秒数
times_t date_of_week() 返回今天是本周第几天
times_t week_of_year() 返回本周是本年第几周
times_t week_of_year_start_from_sunday() 同上,星期以星期日开始
times_t date() 返回日期
times_t time() 返回时间 时/分/秒
times_t short_year() 返回年份后两位
times_t year() 返回年份
times_t short_time_zone() 返回时区,形如 +0800
times_t time_zone() 返回时区,形如 CST

此外,times 外置了 std::strftime 接口,你可以自行寻找 std::strftime 的格式控制符,借助它你可以实现自定义返回内容

接口名称为

std::string get_format(std::string x)

其中 x 是传入的格式控制符

class times_table

times_table 是一个时间表类,支持存储时间表,查询特定时刻所处活动内容

声明时需要构造函数,定义后不支持修改

构造函数为

times_table(const vector<time_area>&x)

其中 time_area 是 class::time_table 下一个类型,含有活动名称,起始时间,结束时间等

time_area 提供了如下构造函数

time_area(const string a,const hm_times_t b,const hm_times_t c);

其中 a 为名称,b 为起始时间,c 为结束时间

hm_times_t 可以使用形如 (int,int) (pair<int,int>) (int(,0)) 的任意一种方式构造,其中第一个参数为时,第二个参数为分钟

time_area(const string a,int b,int c,int d,int e);

其中 a 为名称,b,c 为起始时间的时,分,c,d 为结束时间的时,分

对于查询,times_table 提供了 operator []

const string operator[](const hm_times_t x);

关于 hm_times_t 的构造方式详见上文

该函数调用后会寻找所在活动,并返回一个带有活动名称,活动详细信息的字符串

否则会返回 “No activity”

下面实现了一个对机房内作息表的实时活动查询程序

#include<bits/stdc++.h>
using namespace std; 
#include"include/hdk/times.h"
#include"include/hdk/tool.h"
using namespace hdk;
using namespace hdk::tool;
int main(){
    times_table day(
        {
            {"早读",6,15,7,04},
            {"早饭",7,05,7,24},
            {"上午第一节",7,25,8,25},
            {"讨论",8,26,8,45},
            {"上午第二节",8,46,9,45},
            {"讨论",9,46,10,05},
            {"上午第三节",10,06,11,05},
            {"讨论",11,06,11,25},
            {"上午第四节",11,26,12,15},
            {"午休",12,16,13,59},
            {"下午第一节",14,00,14,50},
            {"讨论",14,51,15,10},
            {"下午第二节",15,11,16,10},
            {"讨论",16,11,16,30},
            {"下午第三节",16,31,17,30},
            {"讨论",17,31,17,50},
            {"下午第四节",17,51,18,14},
            {"晚饭",18,15,18,34},
            {"讨论",18,35,18,55},
            {"晚间第一节",18,56,20,10},
            {"讨论",20,11,20,30},
            {"晚间第二节",20,31,21,40}
        }
    );
    times a;
    cout<<"Now "<<day[{(int)to_number(a.hours_24()),(int)to_number(a.minute())}]<<endl;
}

标签:返回,11,const,Fileheader,int,times,time,2.0
From: https://www.cnblogs.com/HaneDaCafe/p/18533650

相关文章

  • 私有化视频平台EasyCVR视频融合平台海康录像机NVR通过ehome接入EasyCVR,如何查看是2.0
    在现代视频监控系统中,海康录像机NVR作为核心设备之一,其与视频平台的兼容性和连接稳定性至关重要。私有化视频平台EasyCVR作为一个视频融合平台,支持多种协议接入,包括海康威视的eHome和ISUP协议。正确识别和配置NVR支持的协议版本(eHome2.0或ISUP5.0)对于确保视频数据的流畅传输和监......
  • 【鉴权】OAuth 2.0: 高度灵活与安全的身份认证框架
    目录引言一、OAuth2.0的核心概念1.1资源拥有者(ResourceOwner)1.2客户端(Client)1.3授权服务器(AuthorizationServer)1.4资源服务器(ResourceServer)1.5OAuth2.0体系架构图二、OAuth2.0授权流程2.1OAuth2.0授权流程概述2.2常见的授权模式2.2.1授权码模式(Autho......
  • 【鉴权】深入理解 OAuth 2.0 授权流程
    目录引言OAuth2.0授权流程概览1.用户访问客户端应用2.客户端请求授权码3.授权服务器展示授权页面4.用户同意授权5.客户端使用授权码换取访问令牌6.授权服务器返回访问令牌7.客户端使用令牌访问资源8.资源服务器返回受保护资源9.客户端展示数据10.访问令牌过......
  • PCIe系列专题之二:2.0 Transaction layer事务层概述
    一、故事前传上回我们对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-basedlayeredprotocol),主要包括事务层(Transactionlayer),数据链路层(Datalinklayer)和物理层(Physicallayer)。较为详细解释请见之前的文章:PCIe技术概述;二、事务层概述......
  • EasyQBlog .NET 8 + Q-Blog 2.0博客模板 + easyweb iframe后台模板 开发的个人博客
    EasyAdmin介绍.NET8+Q-Blog2.0博客模板+easywebiframe后台模板开发的个人博客演示地址:https://www.baocaige.top暂不开源,需要滴滴!!!项目截图 ......
  • 代码随想录第四天|链表part02--24. 两两交换链表中的节点、19.删除链表的倒数第N个节
    资源引用:leetcode题目:24.两两交换链表中的节点(24.两两交换链表中的节点-力扣(LeetCode))19.删除链表的倒数第N个结点(19.删除链表的倒数第N个结点-力扣(LeetCode))面试题02.07.链表相交(面试题02.07.链表相交-力扣(LeetCode))142.环形链表Ⅱ(142.环形链表II-力扣(Leet......
  • HeaderFile 2.0 | tool.h
    Download字符串处理部分substr()定义(一)conststringsubstr(conststring&x,stringexpr="")引自python的字符串切片功能传入的两个参数,第一个参数为被切片的字符串,第二个参数为限定参数当限定参数为空时返回原字符串第一参数:返回的子串的开始位置,为空或为\(0\)则从......
  • Ubuntu 22.04 镜像源仓库
    1.先备份cp/etc/apt/sources.listcp/etc/apt/sources.list.bak2.配置文件gedit/etc/apt/sources.list3.替换文本#aliyundebhttp://mirrors.aliyun.com/ubuntu/lunarmainrestricteduniversemultiversedeb-srchttp://mirrors.aliyun.com/ubuntu/lunarmainrest......
  • 继承和多态2.0
    1.1多态定义具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。1.2多态实现条件1.必须在继承体系下2.子类必须要对父类中方法进行重写3.通过父类的引用调用重写的方法多态体现:在代码运行时,当传递不同类对象时,会调用对应类中的方法publicclas......
  • uniapp - 运行打包出现警告报错The legacy JS API is deprecated and will be removed
    问题描述在uniapp项目运行打包时警告提示ThelegacyJSAPIisdeprecatedandwillberemovedinDartSass2.0.0,另外还有可能存在其他sass错误或报错警告,uniapp正常运行项目也可能会提示此错误,无论是Hbuilder升级还是降级都不行(还有更坑的是就是升级完hbuilder才报的),详......