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

Posted

技术标签:

【中文标题】如何以特定格式获取 Javascript 当前日期秒数【英文标题】:How to get Javascript current date Seconds , in a particular format 【发布时间】:2014-08-12 23:19:52 【问题描述】:

如何获得

日期 ??

所以它看起来像这样

14062154

当这样尝试时

function myFunction() 


var dt = new Date();

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

结果是 201 谁能告诉我我该如何更正??

【问题讨论】:

你想要长格式吗? 这可能是添加每个组件的数值,而不是像字符串一样连接它们。如果要强制连接,在空字符串或 2 中“添加”。 你认为它会神奇地转换为秒吗? 那是一种奇怪的格式...为什么不包括小时和分钟? 【参考方案1】:

所有这些函数都返回数字,当您在数字之间放置 + 符号时会发生什么 - 它会将它们相加。

试着先把它们变成字符串,这样它们就被连接起来了,而不是被添加

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

根据 cmets 的其他几点

.getYear() 是旧的,不应该真正使用(参见 SO 问题 here),它返回 114 表示 2014,你应该使用 .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,则需要用零填充。所以我会做一个辅助函数来填充,

类似:

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));

【讨论】:

上述代码的输出与您给出的上述示例的格式不完全相同。你可以考虑这个:jsfiddle.net/TvMLE :)) 如果月份、日期和秒是个位数,那么它将为 114654,其中 114 是 getYear,6 是月份,5 是日期,4 是秒【参考方案2】:

你好,试试这个,

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()));

【讨论】:

【参考方案3】:

您是否尝试使用时间戳javascript 原生使用以毫秒为单位的时间戳,这可能会导致更少的代码。

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

如果您希望时间戳以秒为单位,只需除以 1000;

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

【讨论】:

【参考方案4】:

你也可以建立一个数组然后加入它,这样代码少一点。

function getTimestamp() 

  var dt = new Date();


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


【讨论】:

以上是关于如何以特定格式获取 Javascript 当前日期秒数的主要内容,如果未能解决你的问题,请参考以下文章

如何在Javascript中获取当前格式化日期dd/mm/yyyy并将其附加到输入[重复]

如何以日期时间格式 PHP 获取当前时间? [复制]

(Java / Android) 计算两个日期之间的天数并以特定格式呈现结果

如何在javascript中获取时区的当前日期

以 dd-mm-yyyy 格式获取当前日期

SQL查询以获取特定年份的当前日期(考虑月份和日期)的数据