本网站正在建设中(~ ̄▽ ̄)~

  • 你好~!欢迎来到中文歌声合成个人收集站-VCPedia.cn!
  • 若发现页面信息有误投稿至本站,请联系管理员。

Module:模糊时间/doc

VCPedia.cn ——关于中文歌声合成的一切。
跳到导航 跳到搜索

这是Module:模糊时间的文档页面

模糊时间模块用于匹配获取一个时间文本,进而,可以进行时间计算、时间比较、时区调整、依据给定的格式进行格式化。 与其他时间函数不同之处在于,本模块支持不规范的、模糊描述以及时间段描述的文本,并允许在格式化时省略精确度不足的内容。

函数

initialize(from,to,connect)

初始化设置。

  • from为文本语言,可选zh/en/all,默认为zh
  • to为格式化目标语言,可选zh/en,默认为zh
  • connect为时间连接符,指格式化时使用时间段概念时连接两时间点的文本。默认为

toTime(text,analysis_pattern)

将文本解析转换为time表time表具有os.time可以识别的结构。

  • 能识别ISO 8601格式的时间,如2025-06-15T15:21:35+00:00。但暂不识别追加的时区文本。
  • 能识别带有单位的文本,如2012年。支持乱序。
  • 能识别特定的时间描述,如星期五凌晨
  • 字符-\被视为时间段的描述关键字。
  • 字符%s中文空格,被忽略。

基本可以认为,所有该函数可以输出的格式化格式,都可以被其识别。

如果指定analysis_pattern,则将使用固定的格式进行匹配。对于固定格式的文本,将大大节省解析时间。其中格式匹配符与#占位符标准相同。没有指定该参数的场合,函数将试图使用所有可能的格式进行分析匹配。

time表的属性

yearmonthdayweekwdayydayhourminutesecond

time表的函数

time表可以执行以下函数:

运算符
time:__connect(other)

..。连接两时间,获得时间段。

time:__add(other)

+。时间加法。

time:__sub(other)

-。时间减法。

其他函数
time:add(tag,value)

按标签计算。标签可以为属性其一。暂且唯有原time中具有该精确度的标签才有效。

time:convert(o_timezone,c_timezone)

时区转换。 c_timezone默认为当前时区。o_timezone默认为{{TimeZone}}所定义的时区。

time:supply(other,pre,after)

补足精确度。使用另一时间对其补足缺失的精确度以及值。已有部分则忽略。 pre为true则补足前部缺失值(如年、月),after设置为true则补足后部缺失值(如秒、分)。两参数默认为true。

time:getNumber()

获取时间段前后的对应os.time数值。

time:sort()

规范数据,计算后如果需要从属性获得准确值需调用。在格式化前会自动调用。

time:format(pattern,ignore)

格式化为文本。 ignore如果为true,则在非必要时忽略区域性描述(诸如旬)(如果精确度只达到该描述,则不省略)。如果为false,则强制要求所有精确度都输出值。ignore默认为nil,此时正常输出,忽略不具备的精确度。

其中pattern的占位符标准详见#占位符

format(text,pattern,ignore,o_timezone,c_timezone,a_pattern)

格式化输出。这个函数是功能的集合版本。

  • text为时间文本
  • ignore同上。
  • pattern的占位符标准详见#格式化
  • o_timezone原时区,即文本使用时区
  • c_timezone现时区,即显示时区。默认采用{{timezone}}模板定义的时区。
  • a_pattern,分析用字符串。

格式化

格式化使用作为时间段描述方式(或许可以考虑增加到占位符中)。 格式化使用的替换用占位符如下。 待扩展中文数字表达。 Lua错误 在package.lua的第80行:module 'Module:queue' not found 示例时间:Template:模糊时间


类型 格式化参数 说明 输出