【问题标题】:How to convert a datestring to date object without timezone如何将日期字符串转换为没有时区的日期对象
【发布时间】:2016-12-08 23:29:14
【问题描述】:

我想将日期字符串 '03/08/2016' 转换为不带时区的日期对象。

convertToDateFormat(Datestr) {
    if ( Datestr!="" ) { // Datestr="03/08/2016"
        var datedata = Datestr.split("/");
        let year=datedata[2];
        let month=(parseFloat(datedata[1]) - 1);
        let day=datedata[0];
        var formatedDate = new Date( month + '-' + day + '-' + year);
        var formatedDatestring=JSON.stringify(formatedDate);
    }
}

在这里,我将 formatedDate 作为 Date 对象作为

2016 年 8 月 3 日星期三 15:20:58 GMT+0530(印度标准时间)

并对其进行字符串化,我得到 formatedDatestring 为

“2016-08-02T18:30:00.000Z”

但我希望 formatedDatestring 为“2016-08-03T00:00:00.000Z”

【问题讨论】:

  • 把最后一行改成var formatedDatestring=JSON.stringify(formatedDate).split("T")[0] + "T00:00:00.000Z";
  • 你应该使用 dateformatter
  • 谢谢,但它仅将“T18:30:00.000Z”替换为“T00:00:00.000Z”。我在所选日期前一天。 @Archer

标签: javascript date jsonserializer


【解决方案1】:

你太复杂了

function convertToDateFormat(Datestr) {
    if ( Datestr!="" ) { // Datestr="03/08/2016"
        var datedata = Datestr.split("/");
        var formatedDateString=datedata[2]+'-' + datedata[1] + '-' + datedata[0] + 'T00:00:00.000Z';
        return formatedDateString;
    }
}
console.log(convertToDateFormat("03/08/2016")) // 2016-08-03T00:00:00.000Z

【讨论】:

  • 非常感谢... :)
【解决方案2】:

这是我实现你想法的方式。

const getDateNoTz = (strDate) => strDate ? strDate.split('/').reverse().join('-') + 'T00:00:00.000Z': '';
let myDate = getDateNoTz('30/09/2019');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 2020-05-21
    • 2020-11-30
    • 2022-01-11
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多