首页 > 解决方案 > 仅将时间字符串转换为时间戳

问题描述

所以我有一个时间字符串,它显示时间h:m:s.ms 但问题是我想将它们转换为它显示值的时间戳NaN值。

Date.parse()用来将时间转换为时间戳。

这是我尝试过的代码。

var date;
function myFunction() {
  var d = new Date();
  var h = addZero(d.getHours(), 2);
  var m = addZero(d.getMinutes(), 2);
  var s = addZero(d.getSeconds(), 2);
  var ms = addZero(d.getMilliseconds(), 3);
  var maindate = h + ":" + m + ":" + s + "." + ms ;
  var datestring = Date.parse(maindate)
  var data = Math.random(0,1); 
  console.log("Date : ", maindate) ;
  console.log("Data : ", data);
 }
  myFunction();

您可以在控制台窗口中看到date和。data

这里的date变量显示 NaN 值。

请告诉我我做错了什么。

标签: javascripttimestamp

解决方案


如果你想要一个时间戳,你需要一个完整的时间,包括日、月和年

var date;

function myFunction() {
  var d = new Date();
  var h = addZero(d.getHours(), 2);
  var m = addZero(d.getMinutes(), 2);
  var s = addZero(d.getSeconds(), 2);
  var ms = addZero(d.getMilliseconds(), 3);

  var day = d.getDate();
  var month = d.getMonth() + 1; // getMonth returns an integer between 0 and 11
  var year = d.getFullYear();  

  var maindate = `${day}-${month}-${year} ${h}:${m}:${s}.${ms}`;
  var datestring = Date.parse(maindate)
  console.log("Data : ", datestring);
 }
  myFunction();


推荐阅读