Sese Framework  x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
sese::text::DateTimeFormatter类 参考

日期时间格式化类 更多...

#include <DateTimeFormatter.h>

静态 Public 成员函数

static std::string format (const DateTime &date_time, const std::string &pattern=TIME_DEFAULT_PATTERN)
 
static std::string format (const std::unique_ptr< DateTime > &date_time, const std::string &pattern=TIME_DEFAULT_PATTERN)
 
static uint64_t parseFromGreenwich (const std::string &text)
 
static uint64_t parseFromISO8601 (const std::string &text)
 

静态 Protected 成员函数

static int mon2number (const std::string &text)
 

静态 Protected 属性

static const std::map< std::string, uint8_t > MON_MAP
 
static const std::array< std::string, 12 > MON_ARRAY
 
static const std::map< std::string, uint8_t > MONTH_MAP
 
static const std::array< std::string, 12 > MONTH_ARRAY
 
static const std::array< std::string, 7 > WK_DAY
 
static const std::array< std::string, 7 > WEEK_DAY
 

详细描述

日期时间格式化类

时间格式通配符
d    一个月中的某天(1-31)
dd   一个月中的某天(01-31)
ddd  一周某天的缩写(Mon)
dddd 一周某天的全称(Monday)
m    分钟(0-59)
mm   分钟(00-59)
M    月份(1-12)
MM   月份(01-12)
MMM  月份缩写(Jun)
MMMM 月份完整名称(June)
y    年份(0-99)
yy   年份(00-99)
yyy  年份(000-999)
yyyy 年份(0000-9999)
z    相对于 UTC 偏移量
h    12小时制(0-11)
hh   12小时制(00-11)
H    24小时制(0-23)
HH   24小时制(00-23)
t    AM / PM - 可配合 12 小时制使用
s    秒数(0-59)
ss   秒数(00-59)
f    毫秒数(0-999)
ff   毫秒数(000-999)
fff  微秒数(0-999)
ffff 微秒数(000-999)
%    转义符号

成员函数说明

◆ format() [1/2]

◆ format() [2/2]

static std::string sese::text::DateTimeFormatter::format ( const std::unique_ptr< DateTime > & date_time,
const std::string & pattern = TIME_DEFAULT_PATTERN )
static

◆ mon2number()

int sese::text::DateTimeFormatter::mon2number ( const std::string & text)
staticprotected

◆ parseFromGreenwich()

uint64_t sese::text::DateTimeFormatter::parseFromGreenwich ( const std::string & text)
static

将格林威治时间转换为时间戳

参数
text格林威治时间文本
"Tue, 17 Oct 2023 15:41:22 GMT"
"Thu, 31-Dec-37 23:55:55 GMT"
返回
时间戳

引用了 timegm.

◆ parseFromISO8601()

uint64_t sese::text::DateTimeFormatter::parseFromISO8601 ( const std::string & text)
static

将 ISO 8601 时间转换为时间戳

参数
textISO 8601 时间文本
"2023-06-20"
"2023-06-20 16:46:55"
"2023-06-20T16:46:55Z"
"2023-06-20 16:46:55 +8"
"2023-06-20T16:46:55+00:00"
返回
时间戳

引用了 sese::text::AbstractStringBuffer::split() , 以及 timegm.

类成员变量说明

◆ MON_ARRAY

const std::array< std::string, 12 > sese::text::DateTimeFormatter::MON_ARRAY
staticprotected
初始值:
{
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
}

被这些函数引用 format().

◆ MON_MAP

const std::map< std::string, uint8_t > sese::text::DateTimeFormatter::MON_MAP
staticprotected
初始值:
{
{"Jan", 1},
{"Feb", 2},
{"Mar", 3},
{"Apr", 4},
{"May", 5},
{"Jun", 6},
{"Jul", 7},
{"Aug", 8},
{"Sep", 9},
{"Oct", 10},
{"Nov", 11},
{"Dec", 12}
}

◆ MONTH_ARRAY

const std::array< std::string, 12 > sese::text::DateTimeFormatter::MONTH_ARRAY
staticprotected
初始值:
{
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
}

被这些函数引用 format().

◆ MONTH_MAP

const std::map< std::string, uint8_t > sese::text::DateTimeFormatter::MONTH_MAP
staticprotected
初始值:
{
{"January", 1},
{"February", 2},
{"March", 3},
{"April", 4},
{"May", 5},
{"June", 6},
{"July", 7},
{"August", 8},
{"September", 9},
{"October", 10},
{"November", 11},
{"December", 12}
}

◆ WEEK_DAY

const std::array< std::string, 7 > sese::text::DateTimeFormatter::WEEK_DAY
staticprotected
初始值:
{
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
}

被这些函数引用 format().

◆ WK_DAY

const std::array< std::string, 7 > sese::text::DateTimeFormatter::WK_DAY
staticprotected
初始值:
{
"Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat"
}

被这些函数引用 format().


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