Javascript 阻止浏览器中的日期转换?

Javascript 阻止浏览器中的日期转换?,javascript,datetime,amcharts4,Javascript,Datetime,Amcharts4,我从输入字段(dd/mm/yyyy HH:mm:ss)中获得了一个日期范围,我希望它与收到的日期完全一致,而不让浏览器将其转换为本地时区。我该怎么做 我尝试使用一个函数将日期转换为不同的可读格式,但浏览器仍在更改日期 <input type='datetime-local' class="form-control" step="1" id="startRange" /> <input type='datetime-local' class="form-control" step

我从输入字段(dd/mm/yyyy HH:mm:ss)中获得了一个日期范围,我希望它与收到的日期完全一致,而不让浏览器将其转换为本地时区。我该怎么做

我尝试使用一个函数将日期转换为不同的可读格式,但浏览器仍在更改日期

<input type='datetime-local' class="form-control" step="1" id="startRange" />
<input type='datetime-local' class="form-control" step="1" id="endRange" />

let datePickStart = new Date(document.getElementById("startRange").value);
let datePickEnd = new Date(document.getElementById("endRange").value);
console.log(datePickStart);
console.log(datePickEnd);


let startRangeDate = dateConvert(datePickStart);
let endRangeDate = dateConvert(datePickEnd);
console.log(startRangeDate);
console.log(endRangeDate);

function appendLeadingZeroes(n) {
    if (n <= 9) {
        return "0" + n;
    }
    return n
}

function dateConvert(dateToConvert) {

    let dateString = dateToConvert.getFullYear() + "-" + appendLeadingZeroes(dateToConvert.getMonth() + 1) + "-" + appendLeadingZeroes(dateToConvert.getDate());
    let timeString = appendLeadingZeroes(dateToConvert.getHours()) + ":" + appendLeadingZeroes(dateToConvert.getMinutes()) + ":" + appendLeadingZeroes(dateToConvert.getSeconds());
    // Prevent conversion of date in the browser?
    let dateFiltered = dateString + "T" + timeString;
    return dateFiltered;
}

让datePickStart=新日期(document.getElementById(“startRange”).value);
让datePickEnd=新日期(document.getElementById(“endRange”).value);
console.log(datePickStart);
console.log(datePickEnd);
让startRangeDate=dateConvert(datePickStart);
让endRangeDate=dateConvert(datePickEnd);
console.log(startRangeDate);
console.log(endRangeDate);
函数附加零(n){

if(n此类任务总是出现在前端开发中。出于各种原因,使用流行且维护良好的库来处理日期和时间是一个好主意,例如:

  • 支持国际化
  • 支持各种日期时间格式
  • 支持使用datetime进行计算(例如,确定datetime是否在未来)

这些库也经过大型社区的测试和尝试。当您开发自己的代码时,可能会出现许多错误。我们使用。

您需要在javascript中使用UTC日期函数。每个日期函数(如
date.getFullYear
都有UTC对应函数(如
date.getUTCFullYear
)。有关其他utc函数,请查看上的侧栏。除非按原样将其打印为字符串,否则无法强制使用日期格式,因为它由客户端pc控制locale@Mox我明白了。所以我必须转换成字符串。谢谢!@JustMe,我认为在javascript中,有一种方法可以将时间以特定的时间格式打印出来这是一种格式化字符串的好方法。像我自己的库可以使格式化和时区转换都很容易。谢谢!我想我会采用库的方式,以避免任何麻烦