<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://www.wikiw.cn/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3ADate_Convert</id>
	<title>模块:Date Convert - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikiw.cn/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3ADate_Convert"/>
	<link rel="alternate" type="text/html" href="https://www.wikiw.cn/index.php?title=%E6%A8%A1%E5%9D%97:Date_Convert&amp;action=history"/>
	<updated>2026-04-08T16:33:00Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://www.wikiw.cn/index.php?title=%E6%A8%A1%E5%9D%97:Date_Convert&amp;diff=2073&amp;oldid=prev</id>
		<title>imported&gt;Sanmosa：​// Edit via Wikiplus</title>
		<link rel="alternate" type="text/html" href="https://www.wikiw.cn/index.php?title=%E6%A8%A1%E5%9D%97:Date_Convert&amp;diff=2073&amp;oldid=prev"/>
		<updated>2021-02-24T00:42:49Z</updated>

		<summary type="html">&lt;p&gt;// Edit via Wikiplus&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;Module:No globals&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function error(template)&lt;br /&gt;
	return &amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;错误：时间格式不正确&amp;lt;/strong&amp;gt;[[Category:Template:&amp;#039; .. template .. &amp;#039;使用錯誤]]&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function time(format, object)&lt;br /&gt;
	return mw.getCurrentFrame():callParserFunction(&amp;#039;#time&amp;#039;, format, object)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function convert(input)&lt;br /&gt;
	input = input&lt;br /&gt;
		:gsub(&amp;quot;&amp;amp;nbsp;&amp;quot;,&amp;quot; &amp;quot;)&lt;br /&gt;
		:gsub(&amp;quot;%s+&amp;quot;,&amp;quot; &amp;quot;)&lt;br /&gt;
		&lt;br /&gt;
		:gsub(&amp;#039;(%a+)[ ,]*(%d+)&amp;#039;, &amp;#039;%1 %2&amp;#039;);&lt;br /&gt;
		&lt;br /&gt;
	local y, m, d, suf&lt;br /&gt;
	local datePatternList = {&lt;br /&gt;
		-- English date format&lt;br /&gt;
		{&amp;#039;%d%d? ?%a+[ ,]*%d+&amp;#039;, &amp;#039;Y-m-d&amp;#039;},	-- 26 Oct 1994&lt;br /&gt;
		{&amp;#039;%a+ ?%d%d?[ ,]+%d+&amp;#039;, &amp;#039;Y-m-d&amp;#039;},	-- Oct 26, 1994&lt;br /&gt;
		{&amp;#039;%a+[ ,]*%d%d%d%d+&amp;#039;, &amp;#039;Y-m&amp;#039;},		-- Oct 1994&lt;br /&gt;
		{&amp;#039;%a+ ?%d%d?&amp;#039;, &amp;#039;Y-m-d&amp;#039;},		    -- Oct 26&lt;br /&gt;
		{&amp;#039;%d%d? *%a+&amp;#039;, &amp;#039;Y-m-d&amp;#039;},		    -- 26 Oct&lt;br /&gt;
		-- Slash or hyphen date format&lt;br /&gt;
		{&amp;#039;%d+/%d%d?/%d+&amp;#039;, &amp;#039;Y-m-d&amp;#039;},	    	-- 1994/10/26 or 10/26/1994&lt;br /&gt;
		{&amp;#039;%d+%.%d%d?%.%d+&amp;#039;, &amp;#039;Y-m-d&amp;#039;},	   	-- 1994.10.26 or 26.10.1994&lt;br /&gt;
		{&amp;#039;%d%d?/%d%d?&amp;#039;, &amp;#039;Y-m-d&amp;#039;},		    -- 10/26&lt;br /&gt;
		{&amp;#039;%d+%-%d%d?%-%d+&amp;#039;, &amp;#039;Y-m-d&amp;#039;},		-- 1994-10-26 or 26-10-94&lt;br /&gt;
		{&amp;#039;%d%d%d%d+%-%d%d?&amp;#039;, &amp;#039;Y-m&amp;#039;},		-- 1994-10&lt;br /&gt;
		{&amp;#039;%d%d%d%d&amp;#039;, &amp;#039;Y&amp;#039;},		        	-- 1994&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	y, m, d, suf = string.match(input, &amp;#039;^(%d+)年(%d%d?)月(%d%d?)日(.*)$&amp;#039;);&lt;br /&gt;
	if y then&lt;br /&gt;
		if #y &amp;lt; 4 then&lt;br /&gt;
			y = string.rep(0, 4 - #y) .. y&lt;br /&gt;
		end&lt;br /&gt;
		return time(&amp;#039;Y-m-d&amp;#039;, y .. &amp;#039;-&amp;#039; .. m .. &amp;#039;-&amp;#039; .. d) , suf&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	y, m, suf = string.match(input, &amp;#039;^(%d+)年(%d%d?)月(.*)$&amp;#039;);&lt;br /&gt;
	if y then&lt;br /&gt;
		if #y &amp;lt; 4 then&lt;br /&gt;
			y = string.rep(0, 4 - #y) .. y&lt;br /&gt;
		end&lt;br /&gt;
		return time(&amp;#039;Y-m&amp;#039;, y .. &amp;#039;-&amp;#039; .. m) , suf&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	y, suf = string.match(input, &amp;#039;^(%d+)年(.*)$&amp;#039;);&lt;br /&gt;
	if y then&lt;br /&gt;
		if #y &amp;lt; 4 then&lt;br /&gt;
			y = string.rep(0, 4 - #y) .. y&lt;br /&gt;
		end&lt;br /&gt;
		return time(&amp;#039;Y&amp;#039;, y) , suf&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	m, d, suf = string.match(input, &amp;#039;^(%d%d?)月(%d%d?)日(.*)$&amp;#039;);&lt;br /&gt;
	if m and tonumber(m) then&lt;br /&gt;
		return time(&amp;#039;m-d&amp;#039;, m .. &amp;#039;-&amp;#039; .. d) , suf&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	for _, value in ipairs(datePatternList) do&lt;br /&gt;
		local str, suf = string.match(input, &amp;#039;^(&amp;#039; .. value[1] .. &amp;#039;)(.*)$&amp;#039;);&lt;br /&gt;
		if str then&lt;br /&gt;
			return time(value[2], str), suf&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return time(&amp;#039;Y-m-d&amp;#039;, &amp;#039;error&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._converttime(input, showsuf)&lt;br /&gt;
	local date, suf = convert(input)&lt;br /&gt;
	if (yesno(showsuf)) then&lt;br /&gt;
		return date .. suf&lt;br /&gt;
	else&lt;br /&gt;
		return date&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p._ChineseDate(args, error)&lt;br /&gt;
	local date, suffix = convert(args[1])&lt;br /&gt;
	local errorMessage = time(&amp;#039;Y-m-d&amp;#039;, &amp;#039;error&amp;#039;)&lt;br /&gt;
	suffix = args.suf and suffix or &amp;#039;&amp;#039;&lt;br /&gt;
	if string.match(date, &amp;#039;^%d+%-%d%d%-%d%d$&amp;#039;) then&lt;br /&gt;
		return time(&amp;#039;Y年Fj日&amp;#039;, date):gsub(&amp;quot;^0+&amp;quot;,&amp;quot;&amp;quot;) .. suffix&lt;br /&gt;
	end&lt;br /&gt;
	if string.match(date, &amp;#039;^%d+%-%d%d$&amp;#039;) then&lt;br /&gt;
		return time(&amp;#039;Y年F&amp;#039;, date):gsub(&amp;quot;^0+&amp;quot;,&amp;quot;&amp;quot;) .. suffix&lt;br /&gt;
	end&lt;br /&gt;
	if string.match(date, &amp;#039;^%d+$&amp;#039;) then&lt;br /&gt;
		return time(&amp;#039;Y年&amp;#039;, date):gsub(&amp;quot;^0+&amp;quot;,&amp;quot;&amp;quot;) .. suffix&lt;br /&gt;
	end&lt;br /&gt;
	if string.match(date, &amp;#039;^%d%d%-%d%d$&amp;#039;) then&lt;br /&gt;
		return time(&amp;#039;Fj日&amp;#039;, date):gsub(&amp;quot;^0+&amp;quot;,&amp;quot;&amp;quot;) .. suffix&lt;br /&gt;
	end&lt;br /&gt;
	if date == errorMessage and args.error == &amp;#039;ignore&amp;#039; then&lt;br /&gt;
		return args[1]&lt;br /&gt;
	end&lt;br /&gt;
	--- return error(&amp;#039;Chinese_date&amp;#039;)&lt;br /&gt;
	return &amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;错误：时间格式不正确&amp;lt;/strong&amp;gt;[[Category:Template:Chinese_date使用錯誤]]&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.ChineseDate(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	return p._ChineseDate(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._ISODate(args, error)&lt;br /&gt;
	local returnval, suf = convert(args[1])&lt;br /&gt;
	local errorMessage = time(&amp;#039;Y-m-d&amp;#039;, &amp;#039;error&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	if returnval == errorMessage and args.error == &amp;#039;ignore&amp;#039; then&lt;br /&gt;
		return args[1]&lt;br /&gt;
	end&lt;br /&gt;
	if returnval == errorMessage then&lt;br /&gt;
		--- return error(&amp;#039;ISODate&amp;#039;)&lt;br /&gt;
		return &amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;错误：时间格式不正确&amp;lt;/strong&amp;gt;[[Category:Template:ISODate使用錯誤]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return returnval .. (args.suffix and suf or &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.ISODate(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	return p._ISODate(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Sanmosa</name></author>
	</entry>
</feed>