模板:Date table sorting
此模板使用Lua语言: |
DTS代表Date Table Sorting(以日期排序),用于在能排序表格里整理和显示日期(帮助:排序(英文))。
它解决的问题
通常如果要排序的话,日期必须要使用YYYY-MM-DD的格式输入。但是,这格式与格式手册中指定的格式不同。这模板会自动制作用作排序的排序键,但会以另外的形式显示输出(例如年-月-日)。
参数
日期
{{dts|年|月|日|时代}} | {{dts|日期}} |
---|---|
|
- 例子
输入风格 | 输入码 | 隐藏排序键 | 显示的输出 |
---|---|---|---|
{{Date_table_sorting|年}}
|
{{Date_table_sorting|1893}}
|
000000001893-01-01-0000 | 1893年 |
{{Date_table_sorting|-89}}
|
-999999999911-01-01-0000 | 公元前89年 | |
{{Date_table_sorting|月}}
|
{{Date_table_sorting|Oct}}
|
000000002024-10-01-0000 | 10月 |
{{Date_table_sorting|月 年}}
|
{{Date_table_sorting|February 1767}}
|
000000001767-02-01-0000 | 1767年2月 |
{{Date_table_sorting|日 月 年}}
|
{{Date_table_sorting|12 Aug 1987}}
|
000000001987-08-12-0000 | 1987年8月12日 |
{{Date_table_sorting|月 日, 年}}
|
{{Date_table_sorting|July 1, 1867}}
|
000000001867-07-01-0000 | 1867年7月1日 |
{{Date_table_sorting|日 月}}
|
{{Date_table_sorting|25 October}}
|
000000002024-10-25-0000 | 2024年10月25日 |
{{Date_table_sorting|月 日}}
|
{{Date_table_sorting|Jan 1}}
|
000000002024-01-01-0000 | 2024年1月1日 |
{{Date_table_sorting|YYYY-MM-DD}}
|
{{Date_table_sorting|2014-12-09}}
|
000000002014-12-09-0000 | 2014年12月9日 |
{{Date_table_sorting|年|月}}
|
{{Date_table_sorting|1990|10}}
|
000000001990-10-01-0000 | 1990年10月 |
{{Date_table_sorting|1980|Dec}}
|
000000001980-12-01-0000 | 1980年12月 | |
{{Date_table_sorting|1970|August}}
|
000000001970-08-01-0000 | 1970年8月 | |
{{Date_table_sorting|年|月|日}}
|
{{Date_table_sorting|2024|Jun|12}}
|
000000002024-06-12-0000 | 2024年6月12日 |
{{Date_table_sorting|-204|11|22}}
|
-999999999796-11-22-0000 | 公元前204年11月22日 | |
{{Date_table_sorting|年|月|日|時代}}
|
{{Date_table_sorting|44|3|15|BC}}
|
-999999999956-03-15-0000 | 公元前44年3月15日 |
{{Date_table_sorting|94|Oct|17|AD}}
|
000000000094-10-17-0000 | 94年10月17日 | |
{{Date_table_sorting||月}}
|
{{Date_table_sorting||May}}
|
000000002024-05-01-0000 | 5月 |
{{Date_table_sorting||月|日}}
|
{{Date_table_sorting||Sep|12}}
|
000000002024-09-12-0000 | 9月12日 |
格式化
使用format
可以做出一个依赖但不需要相同于提供日期的格式。这需要多次调用函数 {{#time:}}
,减少一个页面中使用本模板的最多召唤次数到最差88次,参见下方。format
参数可以用九个数值。
- 例子
值 | 输出格式 | 输入码 | 隐藏排序键 | 显示的输出 |
---|---|---|---|---|
年-月-日 | {{Date_table_sorting|26 Jan 1788}}
|
000000001788-01-26-0000 | 1788年1月26日 | |
{{Date_table_sorting|March 12, 1557}}
|
000000001557-03-12-0000 | 1557年3月12日 | ||
{{Date_table_sorting|1975-02-13}}
|
000000001975-02-13-0000 | 1975年2月13日
| ||
ymd
|
年-月-日(预设) | {{Date_table_sorting|August 31, 1901|format=ymd}}
|
000000001901-08-31-0000 | 1901年8月31日 |
{{Date_table_sorting|2006-11-08|format=ymd}}
|
000000002006-11-08-0000 | 2006年11月8日 | ||
{{Date_table_sorting|1888|5|8|format=ymd}}
|
000000001888-05-08-0000 | 1888年5月8日 | ||
{{Date_table_sorting|-56|08|09|format=ymd}}
|
-999999999944-08-09-0000 | 公元前56年8月9日
| ||
md
|
月-日 | {{Date_table_sorting|26 Jun 1988|format=md}}
|
000000001988-06-26-0000 | 6月26日 |
{{Date_table_sorting|2002-05-27|format=md}}
|
000000002002-05-27-0000 | 5月27日 | ||
dm
|
月-日 | {{Date_table_sorting|Feb 26, 1788|format=dm}}
|
000000001788-02-26-0000 | 2月26日 |
{{Date_table_sorting|2020-10-15|format=dm}}
|
000000002020-10-15-0000 | 10月15日
| ||
my
|
年-月 | {{Date_table_sorting|16 November 1488|format=my}}
|
000000001488-11-16-0000 | 1488年11月
|
d
|
日 | {{Date_table_sorting|6 July 1666|format=d}}
|
000000001666-07-06-0000 | 6日
|
m
|
月份 | {{Date_table_sorting|1980-02-12|format=m}}
|
000000001980-02-12-0000 | 2月
|
y
|
年份 | {{Date_table_sorting|-26|Jan|18|format=y}}
|
-999999999974-01-18-0000 | 公元前26年
|
hide
|
隐藏日期 | {{Date_table_sorting|15 October 1800|format=hide}}
|
000000001800-10-15-0000 | |
注意:以下格式的值皆视为无效 | ||||
dmy
|
中文版视为无效 | {{Date_table_sorting|Sep 13, 1888|format=dmy}}
|
000000001888-09-13-0000 | 1888年9月13日 |
{{Date_table_sorting|1983-01-03|format=dmy}}
|
000000001983-01-03-0000 | 1983年1月3日
| ||
mdy
|
中文版视为无效 | {{Date_table_sorting|August 31, 1901|format=mdy}}
|
000000001901-08-31-0000 | 1901年8月31日 |
{{Date_table_sorting|2006-11-08|format=mdy}}
|
000000002006-11-08-0000 | 2006年11月8日 |
当处理单一的日期参数时,除非只有一个数字(那么它将被解释为年份),模板将根据php date/time format来解释参数。但由于中文习惯的格式的影响,预设皆是使用年-月-日
。由于本模板调用函数{{#time:}}
,因此单一页面中最多仅能使用本模板1200次。[需要解释]
缩写
在中文版本,只有一个方法缩写日期:使用 abbr=on
参数。
- 例子
缩写方法 | 输入码 | 隐藏排序键 | 显示的输出 |
---|---|---|---|
无 | {{Date_table_sorting|2000-01-01}}
|
000000002000-01-01-0000 | 2000年1月1日 |
{{Date_table_sorting|2000|1|1}}
|
000000002000-01-01-0000 | 2000年1月1日 | |
{{Date_table_sorting|1 January 2000}}
|
000000002000-01-01-0000 | 2000年1月1日 | |
{{Date_table_sorting|2000|January|1}}
|
000000002000-01-01-0000 | 2000年1月1日 | |
输入月份缩写 | {{Date_table_sorting|1 Jan 2000}}
|
000000002000-01-01-0000 | 2000年1月1日 |
{{Date_table_sorting|2000|Jan|1}}
|
000000002000-01-01-0000 | 2000年1月1日 | |
abbr=on
|
{{Date_table_sorting|1 January 2000|abbr=on}}
|
000000002000-01-01-0000 | 2000/1/1 |
{{Date_table_sorting|2000|January|1|abbr=on}}
|
000000002000-01-01-0000 | 2000/1/1 | |
{{Date_table_sorting|2000-01-01|abbr=on}}
|
000000002000-01-01-0000 | 2000/1/1 | |
{{Date_table_sorting|2000|1|1|abbr=on}}
|
000000002000-01-01-0000 | 2000/1/1 |
额外排序键
如果表格内的两个日期一样,它们可以利用参数 addkey
排序。
- 例子
输入码 | 隐藏排序键 | 显示的输出 |
---|---|---|
{{Date_table_sorting|2010-10-10|addkey=3}}
|
000000002010-10-10-0003 | 2010年10月10日 |
{{Date_table_sorting|2010-10-09}}
|
000000002010-10-09-0000 | 2010年10月9日 |
{{Date_table_sorting|2010-10-10|addkey=1}}
|
000000002010-10-10-0001 | 2010年10月10日 |
{{Date_table_sorting|2010-10-10}}
|
000000002010-10-10-0000 | 2010年10月10日 |
{{Date_table_sorting|2010-10-10|addkey=4}}
|
000000002010-10-10-0004 | 2010年10月10日 |
{{Date_table_sorting|2010-10-11}}
|
000000002010-10-11-0000 | 2010年10月11日 |
{{Date_table_sorting|2010-10-10|addkey=2}}
|
000000002010-10-10-0002 | 2010年10月10日 |
文字换行
要关闭自动换行的话,请使用nowrap=off
参数。
注解
排序非完整日期
完整年份或月份
完整年份或月份(或完整年月),例如{{dts|2020}}
、{{dts|Jan}}
和{{dts|2020|1}}
,系统会按其第一个日子排序。
没有年份
如果未指定年份,系统将会视年份为现时年份来进行排序。
处理错误
输入无效的日期格式(通常)会产生一条错误消息,例如{{dts||維基百科}}
会产生以下内容:
Module:Date table sorting错误:给出的月份“维基百科”月不合理。
历法选择
本模板无法区分儒略历和公历日期。另外,它不能从一个历法输入日期并按另一历法输出日期。所以,要确保排序良好,用户必须把日期统一于一个历法,或者确定一个转折日(例如,确定1582年10月4日为儒略历,以后的所有日期为公历),这可以用一条条的方法实现。如果可能造成混淆,用家有责任解释给读者究竟显示的日期是儒略历还是公历。
链接
本模板默认自动链接到日期。若要关闭链接,则可使用参数link=off
。根据目前的指引,此模板不再支持日期的内部链接。请不要使用此参数,并请将此参数从目前的模板调用中移除。
参见
- {{sort}},以一个特定的钥匙排序
- {{sortname}},排序人名(用姓氏和名称作为预设排序钥匙)。
- {{tts}},用于在体育赛事结果表中排序时间(只需要用于一定情况——参见该模板的文档页面)
- {{number table sorting}},为数字而设