STTNet 0.7.0
载入中...
搜索中...
未找到
stt::time::DateTime类 参考

时间操作、运算、计时的类 更多...

#include <sttnet.h>

类 stt::time::DateTime 继承关系图:
stt::file::LogFile

Public 成员函数

bool startTiming ()
 开始计时
 
Duration checkTime ()
 计时过程中检查时间
 
Duration endTiming ()
 停止计时
 
Duration getDt ()
 获取上一次计时的时间
 
bool isStart ()
 返回本对象计时状态
 

静态 Public 成员函数

static std::string & getTime (std::string &timeStr, const std::string &format=ISO8086A)
 获取当前时间
 
static bool convertFormat (std::string &timeStr, const std::string &oldFormat, const std::string &newFormat=ISO8086A)
 转化时间字符串的格式
 
static DurationcalculateTime (const std::string &time1, const std::string &time2, Duration &result, const std::string &format1=ISO8086A, const std::string &format2=ISO8086A)
 计算两个用字符串表示的时间相减的差值
 
static std::string & calculateTime (const std::string &time1, const Duration &time2, std::string &result, const std::string &am, const std::string &format1=ISO8086A, const std::string &format2=ISO8086A)
 一个用字符串表示的时间加上或者减去一段时间
 
static bool compareTime (const std::string &time1, const std::string &time2, const std::string &format1=ISO8086A, const std::string &format2=ISO8086A)
 比较两个时间字符串表示的时间的大小
 

详细描述

本地时间文本工具与基于 steady_clock 的计时器对象。

使用边界:
  • getTime() 返回本地时间文本,不是 Unix 时间戳;ISO8086A/B 只是历史宏名,文本不携带时区。
  • convertFormat() 按声明格式重排文本,不是通用日期解析器。
  • checkTime()endTiming()getDt() 的返回类型均为 stt::time::Duration
  • 未开始计时、日期非法或反向相减时返回无效 Duration

成员函数说明

◆ calculateTime() [1/2]

static std::string & stt::time::DateTime::calculateTime ( const std::string & time1,
const Duration & time2,
std::string & result,
const std::string & am,
const std::string & format1 = ISO8086A,
const std::string & format2 = ISO8086A )
static

一个用字符串表示的时间加上或者减去一段时间

参数
time1待运算的时间字符串
time2参与运算的用Duration表示的一段时间
result接收用字符串表示的运算结果的string容器
am填入+:加法运算 填入-:减法运算
format1time1的格式 yyyy年 mm月 dd日 hh时 mi分 ss秒 sss毫秒 (默认格式为'yyyy-mm-ddThh:mi:ss',即 STTNet 历史本地时间文本格式(不携带时区))
format2result的格式 yyyy年 mm月 dd日 hh时 mi分 ss秒 sss毫秒 (默认格式为'yyyy-mm-ddThh:mi:ss',即 STTNet 历史本地时间文本格式(不携带时区))
返回
result的引用

◆ calculateTime() [2/2]

static Duration & stt::time::DateTime::calculateTime ( const std::string & time1,
const std::string & time2,
Duration & result,
const std::string & format1 = ISO8086A,
const std::string & format2 = ISO8086A )
static

计算两个用字符串表示的时间相减的差值

参数
time1被减的时间
time2减去的时间
result一个接收结果的Duration容器
format1time1的时间字符串格式 yyyy年 mm月 dd日 hh时 mi分 ss秒 sss毫秒 (默认格式为'yyyy-mm-ddThh:mi:ss',即 STTNet 历史本地时间文本格式(不携带时区))
format2time2的时间字符串格式 yyyy年 mm月 dd日 hh时 mi分 ss秒 sss毫秒 (默认格式为'yyyy-mm-ddThh:mi:ss',即 STTNet 历史本地时间文本格式(不携带时区))
返回
result的引用

◆ checkTime()

Duration stt::time::DateTime::checkTime ( )

计时过程中检查时间

返回
返回一个Duration记录时间到目前流逝长度

◆ compareTime()

static bool stt::time::DateTime::compareTime ( const std::string & time1,
const std::string & time2,
const std::string & format1 = ISO8086A,
const std::string & format2 = ISO8086A )
static

比较两个时间字符串表示的时间的大小

注解
时间越往后越大
参数
time1参与比较的第一个字符串
time2参与比较的第二个字符串
format1time1的字符串格式 yyyy年 mm月 dd日 hh时 mi分 ss秒 sss毫秒 (默认格式为'yyyy-mm-ddThh:mi:ss',即 STTNet 历史本地时间文本格式(不携带时区))
format2time2的字符串格式 yyyy年 mm月 dd日 hh时 mi分 ss秒 sss毫秒 (默认格式为'yyyy-mm-ddThh:mi:ss',即 STTNet 历史本地时间文本格式(不携带时区))
返回
true:time1>=time2 false: time1<time2

◆ convertFormat()

static bool stt::time::DateTime::convertFormat ( std::string & timeStr,
const std::string & oldFormat,
const std::string & newFormat = ISO8086A )
static

转化时间字符串的格式

注解
传入时间字符串的引用修改原字符串
参数
timeStr原时间字符串
oldFormat原时间字符串格式 (yyyy年 mm月 dd日 hh时 mi分 ss秒 sss毫秒)
newFormat新的时间格式 (默认格式为'yyyy-mm-ddThh:mi:ss',即 STTNet 历史本地时间文本格式(不携带时区))
返回
true转化成功false 转化失败

◆ endTiming()

Duration stt::time::DateTime::endTiming ( )

停止计时

返回
返回一个Duration记录时间
注解
对象会保存记录上一次计时的时间

◆ getDt()

Duration stt::time::DateTime::getDt ( )
inline

获取上一次计时的时间

返回
返回一个Duration记录时间

◆ getTime()

static std::string & stt::time::DateTime::getTime ( std::string & timeStr,
const std::string & format = ISO8086A )
static

获取当前时间

注解
获取当前时间,返回字符串
参数
timeStr接收时间的字符串容器
format指定时间字符串的格式 yyyy年 mm月 dd日 hh时 mi分 ss秒 sss毫秒 (默认格式为'yyyy-mm-ddThh:mi:ss',即 STTNet 历史本地时间文本格式(不携带时区))
返回
返回timeStr的引用

◆ isStart()

bool stt::time::DateTime::isStart ( )
inline

返回本对象计时状态

返回
true:对象正在计时 false:对象没有开始计时

◆ startTiming()

bool stt::time::DateTime::startTiming ( )

开始计时

返回
ture:开始成功 false:开始失败

该类的文档由以下文件生成: