📄 function.res
字号:
<msxsl:script language="javascript" implements-prefix="moex">
<![CDATA[
function urlencode(node)
{
if ((node = node.nextNode()) == null) return "";
return encodeURIComponent(node.text);
}
Number.prototype.LeftZero = function(len)
{
var ret = String(this);
while (ret.length < len)
{
ret = "0" + ret;
}
return ret;
};
Date.prototype.format = function(fmt)
{
var pWeek = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
var pWeekFull = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
var pMonth = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var pMonthFull = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var y = this.getFullYear();
var m = this.getMonth() + 1;
var d = this.getDate();
var h = this.getHours();
var n = this.getMinutes();
var s = this.getSeconds();
var w = this.getDay();
var ret = [];
for (var i = 0; i < fmt.length; i++)
{
var tmp = fmt.substr(i, 1);
switch (tmp)
{
case "a":
//a 小写的上午和下午值 am 或 pm
ret.push(h < 12 ? "am" : "pm");
break;
case "A":
//A 大写的上午和下午值 AM 或 PM
ret.push(h < 12 ? "AM" : "PM");
break;
case "B":
//B Swatch Internet 标准时 000 到 999
break;
case "d":
//d 月份中的第几天,有前导零的 2 位数字 01 到 31
ret.push(d.LeftZero(2));
break;
case "D":
//D 星期中的第几天,文本表示,3 个字母 Mon 到 Sun
ret.push(pWeek[w]);
break;
case "F":
//F 月份,完整的文本格式,例如 January 或者 March January 到 December
ret.push(pMonthFull[m - 1]);
break;
case "g":
//g 小时,12 小时格式,没有前导零 1 到 12
ret.push(h % 12);
break;
case "G":
//G 小时,24 小时格式,没有前导零 0 到 23
ret.push(h);
break;
case "h":
//h 小时,12 小时格式,有前导零 01 到 12
ret.push((h % 12).LeftZero(2));
break;
case "H":
//H 小时,24 小时格式,有前导零 00 到 23
ret.push(h.LeftZero(2));
break;
case "i":
//i 有前导零的分钟数 00 到 59>
ret.push(n.LeftZero(2));
break;
case "I":
//I 是否为夏令时 如果是夏令时为 1,否则为 0
//ret.push(tt->tm_isdst);
break;
case "j":
//j 月份中的第几天,没有前导零 1 到 31
ret.push(d);
break;
case "l":
//l(“L”的小写字母) 星期几,完整的文本格式 Sunday 到 Saturday
ret.push(pWeekFull[w]);
break;
case "L":
//L 是否为闰年 如果是闰年为 1,否则为 0
ret.push((((y % 4) == 0 && (y % 100) != 0) || (y % 400 == 0)) ? 1 : 0);
break;
case "m":
//m 数字表示的月份,有前导零 01 到 12
ret.push(m.LeftZero(2));
break;
case "M":
//M 三个字母缩写表示的月份 Jan 到 Dec
ret.push(pMonth[m - 1]);
break;
case "n":
//n 数字表示的月份,没有前导零 1 到 12
ret.push(m);
break;
case "O":
//O 与格林威治时间相差的小时数 例如:+0200
var tz = this.getTimezoneOffset() / 60;
if (tz < 0)
{
ret.push("+" + Math.abs(tz).LeftZero(2) + "00");
}
else if (tz == 0)
{
ret.push("0000");
}
else
{
ret.push("-" + Math.abs(tz).LeftZero(2) + "00");
}
break;
case "r":
//r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200
ret.push(this.format("D, d M Y H:i:s O"));
break;
case "s":
//s 秒数,有前导零 00 到 59>
ret.push(s.LeftZero(2));
break;
case "S":
//S 每月天数后面的英文后缀,2 个字符 st,nd,rd 或者 th。可以和 j 一起用。
break;
case "t":
//t 给定月份所应有的天数 28 到 31
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
{
ret.push(31);
}
else if (m == 4 || m == 6 || m == 9 || m == 11)
{
ret.push(30);
}
else
{
ret.push((((y % 4) == 0 && (y % 100) != 0) || (y % 400 == 0)) ? 29 : 28);
}
break;
case "T":
//T 时区
break;
case "U":
//U 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数 参见 time()
break;
case "w":
//w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六)
ret.push(w);
break;
case "W":
//W ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) 例如:42(当年的第 42 周)
break;
case "Y":
//Y 4 位数字完整表示的年份 例如:1999 或 2003
ret.push(y);
break;
case "y":
//y 2 位数字表示的年份 例如:99 或 03
ret.push(String(y).substr(2));
break;
case "z":
//z 年份中的第几天 0 到 366
var t1 = this.getTime();
var t2 = new Date(y, 0, 1).getTime();
ret.push(parseInt((t1 - t2) / (24 * 60 * 60 * 1000), 10));
break;
case "Z":
//Z 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。
ret.push(this.getTimezoneOffset() * 60);
break;
default:
ret.push(tmp);
break;
}
}
return ret.join("");
};
function format_time(node, fmt)
{
if ((node = node.nextNode()) == null) return "";
return new Date(parseInt(node.value, 10) * 1000).format(fmt);
}
]]>
</msxsl:script>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -