这是一个想法,可能行得通,也可能行不通。
创建一个所有元素都不同的日期,例如 1999 年 2 月 18 日 13:45,使用 toLocaleString(),然后根据元素的不同值识别元素。
可能有点复杂,我没有任何代码可以帮助解决它,但这是一个可以扔掉的想法,也许你可以利用它。
编辑:这里有一些代码:
var d = new Date(1999,1,18,13,45,0).toLocaleString();
document.write("<p>String: "+d+"</p>");
var f = d
.replace(/1999/,"%Y")
.replace(/99/,"%y")
.replace(/F[^ ]{3,}/i,"%M")
.replace(/F[^ ]+/i,"%m")
.replace(/PM/,"%A")
.replace(/pm/,"%a")
.replace(/18[^ ]+/,"%d%S") // day number with suffix
.replace(/18/,"%d")
.replace(/13/,"%H")
.replace(/1/,"%h")
.replace(/45/,"%i")
.replace(/00/,"%s");
// optionally add something to detect the day of the week (Thursday, here)
document.write("<p>Format: "+f+"</p>");
输出:
String: 18 February 1999 13:45:00
Format: %d %M %Y %H:%i:%s