因为公司里面的项目需要做一个电话录音和时长查询,遂写获取当前时间的方法

1
2
3
4
function GetNowDate() {
    var NowDate = new Date();
    return "["+NowDate.getYear()+"年"+NowDate.getMonth()+"月"+NowDate.getDay()+"日-"+NowDate.getHours()+":"+NowDate.getMinutes()+":"+NowDated.getSeconds()+"]";
}

但是输出的结果是:”114年5月0日….”,经过查询,正确方法如下

1
2
3
4
function GetNowDate() {
    var NowDate = new Date();
    return "["+NowDate.getFullYear()+"年"+(NowDate.getMonth()+1)+"月"+NowDate.getDate()+"日-"+NowDate.getHours()+":"+NowDate.getMinutes()+":"+NowDated.getSeconds()+"]";
}

“NowDate.getYear()”和”NowDate.getFullYear()”

来自csdn使用getYear()方法可返回两位或四位数的年份,用getYear()返回的数并不一定是4位的!处于1900年和1999年间的getYear()方法返回的只有两位数。在此之前的或是在此之后的年份返回的都是四位数的,比如2009年,Javascript解析器应该是返回2009的,而浏览器则计算返回109。这应该是早期的约定,而IE埋头改掉了。该函数已经被逐渐废弃并不推荐使用。getFullYear函数则不存在此问题。getFullYear()方法可返回一个四位数年份,这样大家(IE和FIREFOX等)都不需要运算,直接把解析值输出来即可。

“NowDate.getMonth()”和”(NowDate.getMonth()+1)”

来自w3schooljs中是从0开始的,所以本地化需要+1。

“NowDate.getDay()”和”NowDate.getDate()”

这个纯粹是我没用过这个函数的问题,getDay获取的是星期,而getDate获取的是日期….杰瑞の笑