Javascript 如何转换此日期';2016年3月9日星期三09:48:09太平洋标准时间';至';YYYY-MM-DD HH:MM:ss';格式?
我正在尝试将此格式的日期时间值从2016年3月9日星期三09:48:09太平洋标准时间转换为以下格式 我试图使用,但它给了我一个警告Javascript 如何转换此日期';2016年3月9日星期三09:48:09太平洋标准时间';至';YYYY-MM-DD HH:MM:ss';格式?,javascript,jquery,datetime,momentjs,datetime-format,moment,Javascript,Jquery,Datetime,Momentjs,Datetime Format,Moment,我正在尝试将此格式的日期时间值从2016年3月9日星期三09:48:09太平洋标准时间转换为以下格式 我试图使用,但它给了我一个警告 "Deprecation warning: moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/is
"Deprecation warning: moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.
Arguments: [object Object]
fa/<@http://localhost:1820/Resources/Scripts/Plugins/moment.min.js:7:9493
ia@http://localhost:1820/Resources/Scripts/Plugins/moment.min.js:7:10363
Ca@http://localhost:1820/Resources/Scripts/Plugins/moment.min.js:7:15185
Ba@http://localhost:1820/Resources/Scripts/Plugins/moment.min.js:7:15024
Aa@http://localhost:1820/Resources/Scripts/Plugins/moment.min.js:7:14677
Da@http://localhost:1820/Resources/Scripts/Plugins/moment.min.js:7:15569
Ea@http://localhost:1820/Resources/Scripts/Plugins/moment.min.js:7:15610
a@http://localhost:1820/Resources/Scripts/Plugins/moment.min.js:7:41
@http://localhost:1820/Home/Test:89:29
jQuery.event.dispatch@http://localhost:1820/Resources/Scripts/Jquery/jquery.min.js:5225:16
jQuery.event.add/elemData.handle@http://localhost:1820/Resources/Scripts/Jquery/jquery.min.js:4878:6
"
“弃用警告:即时构造返回到js日期。这是不鼓励的,将在即将发布的主要版本中删除。请参阅https://github.com/moment/moment/issues/1407 更多信息。
参数:[对象]
fa/您可以尝试使用Date.toJSON()
,String.prototype.replace()
,trim()
var date=新日期(“Wed Mar 9 09:48:09 PST 2016”).toJSON()
.替换(/(T)|(\..+$)/g,函数(匹配,p1,p2){
返回匹配===p1?”:“”
});
console.log(date);
您可以尝试使用date.toJSON()
,String.prototype.replace()
,trim()
var date=新日期(“Wed Mar 9 09:48:09 PST 2016”).toJSON()
.替换(/(T)|(\..+$)/g,函数(匹配,p1,p2){
返回匹配===p1?”:“”
});
console.log(date);
既然您用标记了您的问题,我将使用片刻来回答
首先,不推荐使用的原因是,您在分析日期字符串时没有提供格式规范,并且该字符串不是moment可以直接识别的标准ISO 8601格式之一。使用格式说明符,它就可以正常工作
var m = moment("Wed Mar 9 09:48:09 PST 2016","ddd MMM D HH:mm:ss zz YYYY");
var s = m.format("YYYY-MM-DD HH:mm:ss"); // "2016-03-09 09:48:09"
其次,要认识到,在上面的代码中,zz
只是一个占位符。Moment实际上并不解释时区缩写,因为有“CST”有5种不同的含义。如果您需要将其解释为-08:00
,那么您必须自己做一些字符串替换
幸运的是,看起来(至少从您的提问来看)您根本不希望进行任何时区转换,因此上面的代码可以完成这项工作。既然您将问题标记为,我将使用“时刻”来回答
首先,不推荐使用的原因是,您在分析日期字符串时没有提供格式规范,并且该字符串不是moment可以直接识别的标准ISO 8601格式之一。使用格式说明符,它就可以正常工作
var m = moment("Wed Mar 9 09:48:09 PST 2016","ddd MMM D HH:mm:ss zz YYYY");
var s = m.format("YYYY-MM-DD HH:mm:ss"); // "2016-03-09 09:48:09"
其次,要认识到,在上面的代码中,zz
只是一个占位符。Moment实际上并不解释时区缩写,因为有“CST”有5种不同的含义。如果您需要将其解释为-08:00
,那么您必须自己做一些字符串替换
幸运的是,它会出现(至少从你的要求来看)您根本不需要任何时区转换,因此上面的代码可以完成这项工作。谢谢您的代码。这段代码在现代浏览器中非常有效。但是当我尝试在IE8可比性模式下使用它时,我遇到了一个错误。Object不支持此属性或方法。@MikeA问题是String.prototype.trim()
;请参阅更新的postYes,这将生成请求的格式-但它也将转换为UTC-这不是要求的格式。感谢您提供的代码。这段代码在现代浏览器中运行得非常好。但是当我尝试在IE8可比性模式下使用它时,我遇到了一个错误。对象不支持此属性或方法。@MikeA问题是String.prototype.trim()
;请参阅更新的postYes,这将生成请求的格式,但它也将转换为UTC格式,这不是要求的格式。我不打算创建答案,但您应该深入了解。您将了解更多有关您正在做的事情。如果您需要其他格式,也就是说。我不打算创建答案,但您应该深入了解。您将从中了解更多信息关于你在做什么。如果你需要其他格式,那就是。