gpt4 book ai didi

javascript - 如何将 valueOf 日期转换回日期

转载 作者:行者123 更新时间:2023-12-03 02:21:23 27 4
gpt4 key购买 nike

在我的程序中,我将 new Date.valueOf()clientId 作为临时 ID 传递,并且服务器可能会或可能不会传回 Id,如果它传回一个 id,那么它就不是有效的日期。

我想检查传回的 id 是否是有效日期,如何将日期的 valueOf 转换回日期以查看它是否是有效日期?

var basicDate = document.getElementById("todaysDate");
var valueDate = document.getElementById("todaysDateValueOf");
var converted = document.getElementById("todaysDateValueOfConvertedBack");

basicDate.innerHTML = Date();//Tue Mar 06 2018 15:48:42 GMT-0700 (Mountain Standard Time)
valueDate.innerHTML = new Date().valueOf();//1520376522243
converted.innerHTML = new Date(valueDate.innerHTML);//invalid date
<div id="todaysDate"></div>
<div id="todaysDateValueOf"></div>
<div id="todaysDateValueOfConvertedBack"></div>

最佳答案

问题源于您将结果放入 DOM 元素中,其中数据被转换为字符串。当您将数据拉出来并尝试将其传递给 Date() 构造函数时,它需要一个数字,但您给它的是转换后的字符串。将字符串转换为数字即可。

解决这个问题的更好方法是将日期直接存储在变量中,然后从变量中的值填充 DOM 元素。这允许您在需要执行 Date 工作时直接使用变量(不会将其数据转换为字符串)。

仅供引用:

  • 在第一行代码中使用 Date() 而不是 new Date() 可以一个问题。当 Date 作为函数而不是作为构造函数,它返回一个代表当前时间的 String(世界标准时间)。但是,当 Date 作为新表达式的一部分被调用时,它是一个构造函数:它初始化新创建的对象。
  • 当您不使用以下字符串时,请勿使用 .innerHTML不包含 HTML。 .textContent 是用来获取原始文本的一个元素。事实上,不需要任何元素来妨碍的这个。

当你理顺这些时,它会起作用:

var basicDate = document.getElementById("todaysDate");
var valueDate = document.getElementById("todaysDateValueOf");
var converted = document.getElementById("todaysDateValueOfConvertedBack");

// Get dates but assign directly to variables to avoid implicit conversions:
var currentDate = new Date();
var valueOfDate = currentDate.valueOf();
var reconstructedDate = new Date(valueOfDate);

basicDate.textContent = currentDate
valueDate.textContent = valueOfDate;
converted.textContent = new Date(valueOfDate);

console.log(currentDate);
console.log(valueOfDate);
console.log(reconstructedDate);
<div id="todaysDate"></div>
<div id="todaysDateValueOf"></div>
<div id="todaysDateValueOfConvertedBack"></div>

关于javascript - 如何将 valueOf 日期转换回日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49141402/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com