如何以特定格式获取 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并将其附加到输入[重复]