帮助:时间序号

来自心百科,心灵的百科全书

时间序号解析器函数中{{#time:}}的一种。时间序号的编码是{{#time:U}}。而现在时间(2024年11月22日 07:06:35 am)的时间序号为1732259195。

介绍

时间序号主要用作模板倒计时。而时间序号是由1970年1月1日00:00:00起的秒数,而1970年1月1日00:00:00的时间序号就是1,1970年1月1日00:00:01的时间序号就是2,如此类推。

好处

使用时间序号作出模板倒数,较其它编码较好。主要原因是每月的日数都不同,而每4年的天数也不同。而时间序号便会免除这些日子差异。但使用时间序号,需要懂得如何计算。

计算方法

以下是各种时间单位的秒数。

时间(1) 相等于秒数
1
分钟 60
小时 3600
86400
31536000
闰年 31622400

即表示,每过一秒,时间序号便会加1;每过一分钟,时间序号便会加60;每过一天,时间序号便会加86400,如此类推。

各年份的时间序号

以下时2000年至2020年,每年1月1日00:00:00的时间序号。

年份 1月1日00:00:00
时间序号
2000 946684800
2001 978307200
2002 1009843200
2003 1041379200
2004 1072915200
2005 1104537600
2006 1136073600
2007 1167609600
2008 1199145600
2009 1230768000
2010 1262304000
2011 1293840000
2012 1325376000
2013 1356998400
2014 1388534400
2015 1420070400
2016 1451606400
2017 1483228800
2018 1514764800
2019 1546300800
2020 1577836800

取得时间序号

计算机计算

取得时间序号,可使用解析器函数。以下为一例子,若要取得2016年5月19日晚上7时21分52秒的时间序号,可写以下语法:

{{#time:U|2016-5-19 07:21:52}} 

便得:1463642512 或要直接得到时间序号,可使用"subst:",如下:

{{subst:#time:U|2016-5-19 07:21:52}} 

便得:1463642512

人手计算

不使用语法,亦可直接人手计算。假如要取得2009年1月21日21:54:42的时间序号,可根据上面的2009年1月1日00:00:00的时间序号计算。先把1230768000加上20天(别忘记不是21天,因为并非由1月0日开始计算),即86400 x 20,便得1232496000。然后,再加上21小时,即3600 x 21,便得1232571600。然后,再加上54分钟,即60 x 54,便得1232574840。最后,再加上42秒,即1232574882。最终,便能得到2009年1月21日21:54:42的时间序号是1232574882。

应用例子

假如要制作2016年3月13日21时30分正的日数小时的倒数模板。首先,计算得出当天的时间序号:(为了方便大家明白,这个例子不使用模板,而直接使用该时间序号的数字)

{{subst:#time:U|2016-3-13 21:30:00}}

并得:1457904600

日数

然后,把1457904600减去现在的时间序号:

{{#expr: 1457904600 - {{#time:U}} }}天

并显示为"-274354595天"。但由于出现的都只是秒数,所以,可把该数目除去一天的秒数,即86400,并得:

{{#expr: ( 1457904600 - {{#time:U}}) / 86400 }}天

并显示为"-3175.4004050926天"。但可能会出现不能除尽的情况,因此,可以使用舍入法。但由于舍入法只提供四舍五入的方法,即假如0.87天,将会舍入至1日。因此,可以把数目减去0.5,并得:

{{#expr: ( ( 1457904600 - {{#time:U}}) / 86400 - 0.5 ) round 0}}天

并显示为"-3176天"。但由于-0.5至0的数目会舍入至-0,此项将于最后说明解决方法。

时数

同样地,把1457904600减去现在的时间序号,并把该数目除去一小时的秒数,并得:

{{#expr: ( ( 1457904600 - {{#time:U}}) / 86400 - 0.5 ) round 0}}天{{#expr: ( 1457904600 - {{#time:U}} ) / 3600 }}小时

并显示为"-3176天-76209.609722222小时"。但由于得出的小时数目,未减去已计算的天数。因为,需要先减去天数。并得:

{{#expr: ( ( 1457904600 - {{#time:U}}) / 86400 - 0.5 ) round 0}}天{{#expr: (1457904600 - {{#time:U}}) / 3600 - ( ( ( ( 1457904600 - {{#time:U}}) / 86400 - 0.5 ) round 0 ) * 24 ) }}小时

并显示为"-3176天14.390277777784小时"。但同样地,可能会出现不能除尽的法况,因此需要运用舍入法,并同样地减去0.5。并得:

{{#expr: ( ( 1457904600 - {{#time:U}}) / 86400 - 0.5 ) round 0}}天{{#expr: ( ( (1457904600 - {{#time:U}}) / 3600 - ( ( ( ( 1457904600 - {{#time:U}}) / 86400 - 0.5 ) round 0 ) * 24 ) ) -0.5 ) round 0}}小时

并显示为"-3176天14小时"。

最后步骤

倒数器的日子始终都会到达。其后,便会出现负数。假如不想出现负数,可使用另一个模板语法{{#ifeq:}}。别忘记先前天数曾经减去0.5,因为,0.5天的时间序号是43200。并可得出:

{{#ifeq: {{#expr:{{#time:U}} <= (1457904600 - 43200)}} | 1 | 距离2016年3月12日21时30分尚余{{#expr: ( ( 1457904600 - {{#time:U}}) / 86400 - 0.5 ) round 0}}天{{#expr: ( ( (1457904600 - {{#time:U}}) / 3600 - ( ( ( ( 1457904600 - {{#time:U}}) / 86400 - 0.5 ) round 0 ) * 24 ) ) -0.5 ) round 0}}小时 | 2016年3月12日21时30分已过去}}

并显示为"2016年3月13日21时30分已过去"。

应用模板

模板{{Countdown}}是应用了时间序号来制作的倒数模板。与上面的制作方法差不多,但较复杂。