<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-HK">
	<id>https://www.unitedbook.org/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E7%B5%84%3AHms</id>
	<title>模組:Hms - 修訂歷史</title>
	<link rel="self" type="application/atom+xml" href="https://www.unitedbook.org/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E7%B5%84%3AHms"/>
	<link rel="alternate" type="text/html" href="https://www.unitedbook.org/index.php?title=%E6%A8%A1%E7%B5%84:Hms&amp;action=history"/>
	<updated>2026-09-20T18:04:13Z</updated>
	<subtitle>本 Wiki 上此頁面的修訂歷史</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://www.unitedbook.org/index.php?title=%E6%A8%A1%E7%B5%84:Hms&amp;diff=12871&amp;oldid=prev</id>
		<title>DC：​建立內容為「local p = {}  function p._error( error_str )     return &#039;Category:輸入值出現錯誤的持續時間&lt;strong class=&quot;error&quot;&gt;錯誤：&#039; .. error_str .. &#039;&lt;/strong&gt;&#039; end  function p.main(frame) 	local args = require(&#039;Module:Arguments&#039;).getArgs(frame, {wrappers = {&#039;Template:Duration&#039;, &#039;Template:Duration/sandbox&#039;}}) 	local tmp = args.duration or args[1] or &#039;&#039; 	local duration = {} 	if tonumber(args[1]) or args[2] or args[3] then 		if args[4] then return p._err…」的新頁面</title>
		<link rel="alternate" type="text/html" href="https://www.unitedbook.org/index.php?title=%E6%A8%A1%E7%B5%84:Hms&amp;diff=12871&amp;oldid=prev"/>
		<updated>2023-11-24T15:16:26Z</updated>

		<summary type="html">&lt;p&gt;建立內容為「local p = {}  function p._error( error_str )     return &amp;#039;&lt;a href=&quot;/index.php?title=%E5%88%86%E9%A1%9E:%E8%BC%B8%E5%85%A5%E5%80%BC%E5%87%BA%E7%8F%BE%E9%8C%AF%E8%AA%A4%E7%9A%84%E6%8C%81%E7%BA%8C%E6%99%82%E9%96%93&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;分類:輸入值出現錯誤的持續時間 (頁面不存在)&quot;&gt;Category:輸入值出現錯誤的持續時間&lt;/a&gt;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;錯誤：&amp;#039; .. error_str .. &amp;#039;&amp;lt;/strong&amp;gt;&amp;#039; end  function p.main(frame) 	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, {wrappers = {&amp;#039;Template:Duration&amp;#039;, &amp;#039;Template:Duration/sandbox&amp;#039;}}) 	local tmp = args.duration or args[1] or &amp;#039;&amp;#039; 	local duration = {} 	if tonumber(args[1]) or args[2] or args[3] then 		if args[4] then return p._err…」的新頁面&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function p._error( error_str )&lt;br /&gt;
    return &amp;#039;[[Category:輸入值出現錯誤的持續時間]]&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;錯誤：&amp;#039; .. error_str .. &amp;#039;&amp;lt;/strong&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, {wrappers = {&amp;#039;Template:Duration&amp;#039;, &amp;#039;Template:Duration/sandbox&amp;#039;}})&lt;br /&gt;
	local tmp = args.duration or args[1] or &amp;#039;&amp;#039;&lt;br /&gt;
	local duration = {}&lt;br /&gt;
	if tonumber(args[1]) or args[2] or args[3] then&lt;br /&gt;
		if args[4] then return p._error(&amp;#039;不應指定參數4&amp;#039;) end&lt;br /&gt;
		if not args[1] or args[1] == &amp;#039;&amp;#039; then&lt;br /&gt;
			duration = {args[2] or 0, args[3] or 0}&lt;br /&gt;
		else&lt;br /&gt;
			duration = {args[1], args[2] or 0, args[3] or 0}&lt;br /&gt;
		end&lt;br /&gt;
		tmp = nil&lt;br /&gt;
		for k, v in ipairs(duration) do&lt;br /&gt;
			duration[k] = tonumber(v)&lt;br /&gt;
			if not duration[k] then return p._error(&amp;#039;無效的值&amp;#039;) end&lt;br /&gt;
		end&lt;br /&gt;
	elseif args.h or args.m or args.s then&lt;br /&gt;
		if not args.h or args.h == &amp;#039;&amp;#039; then&lt;br /&gt;
			duration = {args.m or 0, args.s or 0}&lt;br /&gt;
		else&lt;br /&gt;
			duration = {args.h, args.m or 0, args.s or 0}&lt;br /&gt;
		end&lt;br /&gt;
		tmp = nil&lt;br /&gt;
		for k, v in ipairs(duration) do&lt;br /&gt;
			duration[k] = tonumber(v)&lt;br /&gt;
			if not duration[k] then return p._error(&amp;#039;無效的值&amp;#039;) end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if mw.ustring.find(tmp, &amp;#039;class=&amp;quot;duration&amp;quot;&amp;#039;, 1, yes) then return tmp end -- if there is already a microformat, don&amp;#039;t do anything&lt;br /&gt;
		duration = mw.text.split(mw.ustring.match(tmp, &amp;#039;%d*:?%d+:%d+%.?%d*&amp;#039;) or &amp;#039;&amp;#039;, &amp;#039;:&amp;#039;) -- split into table&lt;br /&gt;
		if duration[4] then return p._error(&amp;#039;不能超過兩個冒號&amp;#039;) end&lt;br /&gt;
		for k, v in ipairs(duration) do duration[k] = tonumber(v) or 0 end -- convert values to numbers&lt;br /&gt;
	end&lt;br /&gt;
	if duration[3] then&lt;br /&gt;
		if (duration[1] + duration[2] + duration[3]) == 0 then return nil end&lt;br /&gt;
		if (duration[1] ~= math.ceil(duration[1])) or (duration[2] ~= math.ceil(duration[2])) then return p._error(&amp;#039;小時數和分鐘數必須是整數&amp;#039;) end&lt;br /&gt;
		if duration[3] &amp;gt;= 60 then return p._error(&amp;#039;秒數不能大於59&amp;#039;) end&lt;br /&gt;
		if duration[2] &amp;gt;= 60 then return p._error(&amp;#039;當小時數存在時，分鐘數不能大於59&amp;#039;) end&lt;br /&gt;
		if duration[2] &amp;lt; 10 then duration[2] = &amp;#039;0&amp;#039;..duration[2] end -- zero padding&lt;br /&gt;
		if duration[3] &amp;lt; 10 then duration[3] = &amp;#039;0&amp;#039;..duration[3] end&lt;br /&gt;
		duration = &amp;#039;&amp;lt;span class=&amp;quot;duration&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;h&amp;quot;&amp;gt;&amp;#039; .. duration[1] .. &amp;#039;&amp;lt;/span&amp;gt;:&amp;lt;span class=&amp;quot;min&amp;quot;&amp;gt;&amp;#039; .. duration[2] .. &amp;#039;&amp;lt;/span&amp;gt;:&amp;lt;span class=&amp;quot;s&amp;quot;&amp;gt;&amp;#039; .. duration[3] .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	elseif duration[2] then&lt;br /&gt;
		if (duration[1] + duration[2]) == 0 then return nil end&lt;br /&gt;
		if duration[1] ~= math.ceil(duration[1]) then return p._error(&amp;#039;小時數和分鐘數必須是整數&amp;#039;) end&lt;br /&gt;
		if duration[2] &amp;gt;= 60 then return p._error(&amp;#039;秒數不能大於59&amp;#039;) end&lt;br /&gt;
		if duration[2] &amp;lt; 10 then duration[2] = &amp;#039;0&amp;#039;..duration[2] end -- zero padding&lt;br /&gt;
		duration = &amp;#039;&amp;lt;span class=&amp;quot;duration&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;min&amp;quot;&amp;gt;&amp;#039; .. duration[1] .. &amp;#039;&amp;lt;/span&amp;gt;:&amp;lt;span class=&amp;quot;s&amp;quot;&amp;gt;&amp;#039; .. duration[2] .. &amp;#039;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		duration = &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if tmp and tmp ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		if duration ~= &amp;#039;&amp;#039; then tmp = mw.ustring.gsub(tmp, &amp;#039;%d*:?%d+:%d+%.?%d*&amp;#039;, duration, 1) else tmp = tmp .. &amp;#039; [[Category:不含hAudio微格式的持續時間]]&amp;#039; end&lt;br /&gt;
	else&lt;br /&gt;
		if duration ~= &amp;#039;&amp;#039; then tmp = duration end&lt;br /&gt;
	end&lt;br /&gt;
	return tmp&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>DC</name></author>
	</entry>
</feed>