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

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

模組:模糊時間/doc

出自中文歌聲合成個人收集站
跳至導覽 跳至搜尋

此頁面為 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-17T12:59:21+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:模糊時間


類型 格式化參數 說明 輸出