首页 > 解决方案 > Angular 6:无效的时间值

问题描述

我试图将两个日期和时间作为一串数字(纪元),以便我可以比较它们。一个是新的Date()

today = new Date().valueOf();

一个来自以下格式的 api 响应:

scheduleDate: "2019-07-22T00:00+01:00"

问题是我试图以正确的格式获取返回的日期。当我尝试

var scheduleDate = new Date(scheduleDate).toISOString()
console.log("converted date:" + scheduleDate);

我得到错误:

时间值无效

如何将返回的日期转换为纪元格式?

谢谢

标签: javascriptangulardatetimeepoch

解决方案


您的scheduleDate变量必须是undefined. 你确定它被正确分配了吗?

在此处输入图像描述

(function() {

    //number (milleseconds)
    const today = new Date().valueOf();

    //string
    const scheduleDate = undefined; //"2019-07-22T00:00+01:00";

    const scheduleDate2 = new Date(scheduleDate).toISOString()

    console.log(typeof today);
    console.log(typeof scheduleDate);

    console.log("converted date: " + scheduleDate);
}
)();

更令人担忧的是,为什么要将日期字符串转换为日期,然后再转换回字符串(相同的值)。


推荐阅读