我想创建一个简单的实时日期计数器,它将在html中输出脚本所在的文件。这是JSFiddle,以及脚本:
{{1}}
我知道这是最无效的,也许是编写任何代码的错误方式(这是我在JS中做过的第二件事。)但是请接受我的愚蠢错误。
非常感谢。
答案 0 :(得分:1)
使用
var today = new Date();
代替
var today = newDate();
输出将是" 1st | FEBRUARY | 2015"
更新:(更优雅的方式)
b=(new Date()).toLocaleString('en-us', {
day: 'numeric',
month: "long",
year: 'numeric'
}).replace(/(\w+) (\d+), (\d+)/, '$2|$1|$3'); // 30|June|2015
dd=parseInt(b, 10);
op='';
suffix =["st","nd","rd","th"];
if(parseInt(dd) > 4)
op=dd+""+suffix[3];
else
op=dd+""+suffix[(parseInt(dd)%10)-1];
alert(b.replace(/^\d+/, op))

答案 1 :(得分:0)
只需写下:var today = new Date();
答案 2 :(得分:0)
避免级联if
var month = ["January", "Feb", "March",....,"Dec"];//store array of months as string
var suffix =["st","nd","rd","th"];
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth();
var yyyy = today.getFullYear();
var op="";
if(parseInt(dd) > 4)
op+=dd+""+suffix[3]+"|";
else
op+=dd+""+suffix[(parseInt(dd)%10)-1]+"|";
op+=month[parseInt(mm)]+"|"+yyyy;
让它变得简单 working fiddle
仅供参考:刚才看到answer和0-11为0个月 代表Jan,11代表Dec
答案 3 :(得分:0)
不要重新发明轮子,只需使用moment.js:
var d = new Date();
document.write(moment().format('Do|MMMM|YYYY'));
<script src="https://raw.githubusercontent.com/moment/moment/develop/moment.js"></script>