Module:Sandbox list:修订间差异
来自存档计划,Project Archive by Lakejason0
添加的内容 删除的内容
Lakejason0(留言 | 贡献) |
Lakejason0(留言 | 贡献) |
||
第11行: | 第11行: | ||
|ordermethod=lastedit |
|ordermethod=lastedit |
||
}}]==] |
}}]==] |
||
local timezone = function() |
|||
local now = os.time() |
|||
return os.difftime(now, os.time(os.date("!*t", now))) |
|||
end |
|||
local subst = function(...) |
local subst = function(...) |
||
第17行: | 第22行: | ||
local time = f:preprocess('{{#time: U | {{REVISIONTIMESTAMP:' .. page .. '}}}}') |
local time = f:preprocess('{{#time: U | {{REVISIONTIMESTAMP:' .. page .. '}}}}') |
||
if not time:find('error') then |
if not time:find('error') then |
||
time = os.difftime(os.time(), tonumber(time)) |
time = os.difftime(os.time() + timezone(), tonumber(time)) |
||
return '[[' .. page .. ']]<br>最后编辑于' .. mw.getContentLanguage():formatDuration(time, { 'years', 'weeks', 'days', 'hours', 'minutes' }) .. '前' |
return '[[' .. page .. ']]<br>最后编辑于' .. mw.getContentLanguage():formatDuration(time, { 'years', 'weeks', 'days', 'hours', 'minutes' }) .. '前' |
||
else |
else |
2021年5月15日 (六) 07:36的版本
local p = {}
-- TODO: 修复因DPL返回的%DATE%随用户时区改变而导致时间显示错误的问题
function p.main()
local f = mw.getCurrentFrame()
local dpl = f:preprocess [==[{{#dpl:
|titleregexp=沙盒¦Sandbox/
|namespace={{NAMESPACE}}
|noresultsheader=没有子页面
|format=,¶* --%PAGE%--DATE--,,
|ordermethod=lastedit
}}]==]
local timezone = function()
local now = os.time()
return os.difftime(now, os.time(os.date("!*t", now)))
end
local subst = function(...)
-- Unix timestamp
local page, _ = ...
local time = f:preprocess('{{#time: U | {{REVISIONTIMESTAMP:' .. page .. '}}}}')
if not time:find('error') then
time = os.difftime(os.time() + timezone(), tonumber(time))
return '[[' .. page .. ']]<br>最后编辑于' .. mw.getContentLanguage():formatDuration(time, { 'years', 'weeks', 'days', 'hours', 'minutes' }) .. '前'
else
return '[[' .. page .. ']]'
end
end
local result = dpl:gsub('%-%-(.-)%-%-DATE%-%-', subst)
return result
end
return p