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

How to get Javascript current date Seconds , in a particular format

本文关键字:获取 Javascript 当前日期 格式 定格      更新时间:2023-09-26

如何获得

<<p> 年/strong> 日期 ? ?

让它看起来像这样

14062154

当我尝试这样做

function myFunction() {

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

结果是201,谁能告诉我如何改正??

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

尝试先将它们转换成字符串,这样它们就可以连接起来,而不是添加

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

注释

.getYear()是旧的,不应该真正使用(见这里的SO问题),它返回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,你将需要用零填充。所以我要写一个辅助函数

类似:

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

我试试,

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

是否尝试使用时间戳?Javascript原生使用以毫秒为单位的时间戳,这样可以减少代码。

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

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

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

您也可以构建一个数组,然后将其连接起来,这样代码会少一些。

function getTimestamp() {
  var dt = new Date();

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