为什么这个Javascript脚本不提供ant输出?

时间:2015-06-30 11:57:29

标签: javascript date

我想创建一个简单的实时日期计数器,它将在html中输出脚本所在的文件。这是JSFiddle,以及脚本:

{{1}}

我知道这是最无效的,也许是编写任何代码的错误方式(这是我在JS中做过的第二件事。)但是请接受我的愚蠢错误。

非常感谢。

4 个答案:

答案 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>