【问题标题】:new Date can't give me right time新日期不能给我正确的时间
【发布时间】:2019-07-28 20:05:10
【问题描述】:
startDate = "2019-03-07 (목) 12:00";

var year = startDate.slice(0,4);
var month = startDate.slice(5,7);
var day = startDate.slice(8,10);
var hour = startDate.slice(15,17);
var minute = startDate.slice(18,20);

var selEndDatetime = new Date(year, month, day, hour, minute);
console.log(selEndDatetime);

我想查看“Tue Mar 07 2019 12:00:00 GMT+0900 (한국 표준시)”,但控制台显示消息“Sun Apr 07 2019 12:00:00 GMT+0900 (한국 표준시)” .

这段代码有什么问题,如何修改它以获得所需的输出?

【问题讨论】:

    标签: javascript date datetime slice


    【解决方案1】:

    您可以简单地将startDate 字符串作为参数传递给Date 以创建selEndDatetime

    代码:

    const startDate = '2019-03-07 (목) 12:00';
    const selEndDatetime = new Date(startDate);
    
    console.log(selEndDatetime);

    【讨论】:

    • 感谢您的评论。很简单!
    【解决方案2】:

    月份从 0 开始。创建日期实例时需要将月份从字符串解析为整数并减去 1。

    startDate = "2019-03-07 (목) 12:00";
    
    var year = startDate.slice(0,4);
    var month = parseInt(startDate.slice(5,7))
    var day = startDate.slice(8,10);
    var hour = startDate.slice(15,17);
    var minute = startDate.slice(18,20);
    
    var selEndDatetime = new Date(year, month - 1, day, hour, minute);
    console.log(selEndDatetime);

    【讨论】:

      猜你喜欢
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      相关资源
      最近更新 更多