gpt4 book ai didi

javascript - formatDate JavaScript 函数仅适用于 Chrome

转载 作者:行者123 更新时间:2023-11-30 06:27:48 24 4
gpt4 key购买 nike

我有一个 JavaScript 函数,它在 Chrome 中可以正常工作,但在其他浏览器(如 Firefox 或 Safari)中却没有:

function formatDate(date){
var result = date.getFullYear() + "-" +
(((date.getMonth()+1)<10?'0':'') + (date.getMonth()+1)) + "-" +
date.getDate() + " " + date.getHours() + ":" +
(date.getMinutes()<10?'0':'') + date.getMinutes() + ":00";

console.log("formatDate(): " + result);
return result;
}

这是调用 formatDate 函数的地方:

var duration = 1;
var startString = $("#inputDatetime").val();
var startObject = new Date(startString);

var endObject = startObject;
endObject.setHours(startObject.getHours() + duration);
var endString = formatDate(endObject);

setCookie("start", startString, 3600*60*24*30);
setCookie("end", endString, 3600*60*24*30);

Chrome 输出:

formatDate(): 2013-11-18 17:00:00

Firefox 输出:

formatDate(): NaN-NaN-NaN NaN:NaN:00

首选输出类似于2013-11-21 16:00:00

为了让所有浏览器都支持它,我必须更改什么?

最佳答案

问题是只有 Chrome 支持 new Date(startDate);

我的解决方案使用 moment.js :

var duration = 1;
var startString = $("#inputDatetime").val();

var endObject = moment(startString).add('hours',duration);
var endString = moment(endObject).format("YYYY-MM-DD HH:mm");

setCookie("start", startString, 3600*60*24*30);
setCookie("end", endString, 3600*60*24*30);

关于javascript - formatDate JavaScript 函数仅适用于 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20004874/

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