这是模块:模糊时间的文档页面
模糊时间模块用于匹配获取一个时间文本,进而,可以进行时间计算、时间比较、时区调整、依据给定的格式进行格式化。 与其他时间函数不同之处在于,本模块支持不规范的、模糊描述以及时间段描述的文本,并允许在格式化时省略精确度不足的内容。
初始化设置。
from
为文本语言,可选zh
/en
/all
,默认为zh
。to
为格式化目标语言,可选zh
/en
,默认为zh
。到
。将文本解析转换为time表
。time表
具有os.time
可以识别的结构。
2024-05-24T18:21:28+00:00
。但暂不识别追加的时区文本。2012年
。支持乱序。星期五
凌晨
。到
至
-
\
被视为时间段的描述关键字。%s
中文空格,
被忽略。基本可以认为,所有该函数可以输出的格式化格式,都可以被其识别。
如果指定analysis_pattern
,则将使用固定的格式进行匹配。对于固定格式的文本,将大大节省解析时间。其中格式匹配符与#占位符标准相同。没有指定该参数的场合,函数将试图使用所有可能的格式进行分析匹配。
year
,month
,day
,week
,wday
,yday
,hour
,minute
,second
。
time表可以执行以下函数:
即..
。连接两时间,获得时间段。
即+
。时间加法。
即-
。时间减法。
按标签计算。标签可以为属性其一。暂且唯有原time中具有该精确度的标签才有效。
时区转换。
c_timezone
默认为当前时区。o_timezone
默认为{{TimeZone}}所定义的时区。
补足精确度。使用另一时间对其补足缺失的精确度以及值。已有部分则忽略。
pre
为true则补足前部缺失值(如年、月),after
设置为true则补足后部缺失值(如秒、分)。两参数默认为true。
获取时间段前后的对应os.time
数值。
规范数据,计算后如果需要从属性获得准确值需调用。在格式化前会自动调用。
格式化为文本。
ignore
如果为true
,则在非必要时忽略区域性描述(诸如旬)(如果精确度只达到该描述,则不省略)。如果为false
,则强制要求所有精确度都输出值。ignore
默认为nil
,此时正常输出,忽略不具备的精确度。
其中pattern
的占位符标准详见#占位符。
格式化输出。这个函数是功能的集合版本。
text
为时间文本ignore
同上。pattern
的占位符标准详见#格式化。o_timezone
原时区,即文本使用时区c_timezone
现时区,即显示时区。默认采用{{timezone}}模板定义的时区。a_pattern
,分析用字符串。格式化使用到
作为时间段描述方式(或许可以考虑增加到占位符中)。
格式化使用的替换用占位符如下。
待扩展中文数字表达。
示例时间:2024年5月24日18时21分28秒
类型 | 格式化参数 | 说明 | 输出
|
---|---|---|---|
%E | 日期-年月日 (ISO 8601格式)(不支持省略) | 2024-05-24
| |
%(Eo) | 日期-年月日 (ISO 8601格式)(不支持省略) | 2024.05.24 | |
%(Ew) | 日期-年周星期 (ISO 8601格式)(不支持省略) | 2024-W21-5 | |
%e | 时间-时分秒 (ISO 8601格式)(不支持省略) | 18:21:28 | |
%a | 根据时间是上午还是下午,输出am或pm | pm | |
%(au) | 根据时间是上午还是下午,输出AM或PM | PM | |
%(cf) | 日期-世纪,2位数字,补足前导0 | 21 | |
%(tf) | 日期-年代,2位数字,补足前导0 | 20 | |
%(yf) | 日期-年份,4位数字,补足前导0 | 2024 | |
%(mf) | 日期-月,2位数字,补足前导0 | 05 | |
%(df) | 日期-日,2位数字,补足前导0 | 24 | |
%(wf) | 日期-年内第几周,2位数字,补足前导0 | 21 | |
%(hf) | 时间-小时,2位数字,补足前导0 | 18 | |
%(if) | 时间-分钟,2位数字,补足前导0 | 21 | |
%(sf) | 时间-秒,2位数字,补足前导0 | 28 | |
%c | 日期-世纪 | 21 | |
%t | 日期-年代 | 2020 | |
%y | 日期-年份 | 2024 | |
%m | 日期-月 | 5 | |
%w | 日期-年内第几周 | 21 | |
%d | 日期-日 | 24 | |
%(dy) | 日期-日 年内第几日 | 145 | |
%l | 日期-星期,1位数字 | 5 | |
%h | 时间-小时 | 18 | |
%(hy) | 时间-小时 十二小时制 | 6 | |
%i | 时间-分钟 | 21 | |
%s | 时间-秒 | 28 | |
%X | 年月日时分秒 (ISO 8601格式)(不支持省略) | 2024-05-24 T18:21:28 | |
%x | 年周日时分秒 (ISO 8601格式)(不支持省略) | 2024W21-24 T18:21:28 | |
en | %T | 2020s
| |
%(Ms) | May | ||
%M | May | ||
%(Ls) | Fri | ||
%L | Friday | ||
%D | 24nd | ||
zh | %C | 日期-世纪 单位“世纪” | 21世纪
|
%(Tf) | 日期-年代 单位“年代”,只取后两位 | 20年代 | |
%T | 日期-年代 单位“年代” | 2020年代 | |
%Y | 日期-年 单位“年” | 2024年 | |
%M | 日期-月 单位“月” | 5月 | |
%(Mc) | 日期-月 中文文字 | 五月 | |
%W | 日期-周 单位“周” | 21周 | |
%D | 日期-日 单位“日” | 24日 | |
%(Dy) | 日期-日 年内第几日 单位“日” | 145日 | |
%(Do) | 日期-日 单位“号” | 24号 | |
%L | 日期-星期 中文文字“星期” | 星期五 | |
%(Lss) | 日期-星期 中文文字大写“周” | 周五 | |
%(Ls) | 日期-星期 只输出一个中文文字 | 五 | |
%H | 时间-时 单位“时” | 18时 | |
%(Hy) | 时间-时 单位“时” 十二小时制 | 6时 | |
%(Ho) | 时间-时 单位“点” | 18点 | |
%I | 时间-分 单位“分” | 21分 | |
%S | 时间-秒 单位“秒” | 28秒 | |
%(Mi) | 日期-月内描述“旬”,十日为一旬 | 下旬 | |
%A | 时间-根据时间输出上午或下午 | 下午 | |
%(Di) | 时间-日内详细描述 | 傍晚 |