freecplus框架-日期、时间和计时器

本文介绍了freecplus框架在Linux下处理时间的函数和类,包括时间表示方法、获取系统时间、时间转换、时间运算及计时器的使用。示例代码展示了如何操作和转换时间,以及CTimer类的计时功能。
摘要由CSDN通过智能技术生成

一、源代码说明

freecplus是一个Linux系统下的C/C++开源框架,源代码请前往C语言技术网(www.freecplus.net)下载。

本文介绍的是freecplus框架的时间操作函数。

函数和类的声明文件是freecplus/_freecplus.h。

函数和类的定义文件是freecplus/_freecplus.cpp。

示例程序位于freecplus/demo目录中。

编译规则文件是freecplus/demo/makefile。

二、计算机时间的表示方法

UNIX操作系统根据计算机产生的年代和应用采用1970年1月1日作为UNIX的纪元时间,1970年1月1日0点作为计算机表示时间的是中间点,将从1970年1月1日开始经过的秒数用一个整数存放,这种高效简洁的时间表示方法被称为“Unix时间纪元”,向左和向右偏移都可以得到更早或者更后的时间。

在实际开发中,对日期和时间的操作场景非常多,例如程序启动和退出的时间,程序执行任务的时间,数据生成的时间,数据处理的各环节的时间等等。

在Linux系统中,自定义了time_t类型,如下:

typedef long time_t;    // 时间值time_t为长整型long的别名。

三、获取操作系统的时间

取操作系统的时间,并把整数表示的时间转换为字符串表示的格式。

函数声明:

void LocalTime(char *out_stime,const char *in_fmt=0,const int in_interval=0);

参数说明:

stime:用于存放获取到的时间字符串。

timetvl:时间的偏移量,单位:秒,0是缺省值,表示当前时间,30表示当前时间30秒之后的时间点,-30表示当前时间30秒之前的时间点。

fmt:输出时间的格式,fmt每部分的含义:“yyyy”-年份;“mm”-月份;“dd”-日期;“hh24”-小时;“mi”-分钟;“ss”-秒,缺省是"yyyy-mm-dd hh24:mi:ss",目前支持以下格式:

  "yyyy-mm-dd hh24:mi:ss"
  "yyyymmddhh24miss"
  "yyyy-mm-dd"
  "yyyymmdd"
  "hh24:mi:ss"
  "hh24miss"
  "hh24:mi"
  "hh24mi"
  "hh24"
  "mi"

注意:

1)小时的表示方法是hh24,不是hh,这么做的目的是为了保持与数据库的时间表示方法一致;

2)以上列出了常用的时间格式,如果不能满足您应用开发的需求,请修改源代码timetostr函数增加更多的格式支持;

3)调用函数的时候,如果fmt与上述格式都匹配,stime的内容将为空。

示例(demo24.cpp)

/*
 *  程序名:demo24.cpp,此程序演示freecplus框架中LocalTime时间函数的使用。
 *  作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include "../_freecplus.h"

int main()
{
   
  char strtime[20];
  memset(strtime,0,sizeof(strtime));

  LocalTime(strtime,"yyyy-mm-dd hh24:mi:ss",-30
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值