如何以特定格式获取Javascript当前日期秒数

时间:2014-06-23 00:42:15

标签: javascript

我怎样才能获得

年度 日期 秒> ??

所以它看起来像这个

14062154

以这种方式尝试

function myFunction() {


var dt = new Date();

alert(dt.getYear() +  dt.getMonth() + 1  + dt.getDate()+ dt.getSeconds());
}

结果是201可以请任何人知道我怎么能纠正?

4 个答案:

答案 0 :(得分:2)

所有这些函数返回数字,当你在数字之间加上+符号时会发生什么 - 它会添加它们。

首先尝试将它们转换为字符串,以便它们连接在一起,而不是添加

function myFunction() {    
var dt = new Date();    
alert(dt.getYear().toString() +  (dt.getMonth() + 1).toString()  + dt.getDate().toString() + dt.getSeconds().toString());
}

根据评论的其他几点

.getYear()已过时且不应该使用(请参阅问题here),2014年会返回114,您应该使用.getFullYear(),这将返回2014年,但是你可能只想要一个两位数的年份,修剪前两个字符

类似的东西:

function myFunction() {    
var dt = new Date();    
alert(dt.getYear().toString().substr(2) +  (dt.getMonth() + 1).toString()  + dt.getDate().toString() + dt.getSeconds().toString());
}

假设您要保留年份2位数的设置格式,月份2位数字,日期2位数字和秒数2位数,如果其中任何一项低于10,则需要填0。所以我会做一个辅助函数来填充,

类似的东西:

function pad(s, size) {    
    while (s.length < size) s = "0" + s;
    return s;
}

然后你可以将它添加到你的功能

类似的东西:

function myFunction() {    
var dt = new Date();    
alert(pad(dt.getYear().toString().substr(2),2) +  pad((dt.getMonth() + 1).toString(),2)  + pad(dt.getDate().toString(),2) + pad(dt.getSeconds().toString(),2));
}

答案 1 :(得分:0)

嗨试试这个,

function addZeros(val)
{
    val    = ""+val;
    return val.length === 1 ? "0"+val : val;
}

function myFunction() 
{

 var dt = new Date();

 alert(dt.getUTCFullYear().toString().slice(2)+ addZeros(dt.getMonth()+1)+addZeros(dt.getDate())+ addZeros(dt.getSeconds()));
}

答案 2 :(得分:0)

您是否尝试使用时间戳? Javascript本身使用时间戳(以毫秒为单位),这可能会减少代码。

var timestamp_milliseconds = new Date().getTime();

如果您希望时间戳以秒为单位,则只需要填充1000;

var timestamp_seconds = new Date().getTime() / 1000;

答案 3 :(得分:0)

你也可以构建一个数组,然后加入它,这是一个更少的代码。

function getTimestamp() {

  var dt = new Date();


  return [dt.getYear(), dt.getMonth() + 1, dt.getDate(), dt.getSeconds()].join('');

}