Javascript 覆盖日期原型法
我在客户端中有大量的日期数组,我想将它们以JSON字符串的形式发送到服务器而不带时区,也就是说,我只想发送Javascript 覆盖日期原型法,javascript,date,datetime,this,self,Javascript,Date,Datetime,This,Self,我在客户端中有大量的日期数组,我想将它们以JSON字符串的形式发送到服务器而不带时区,也就是说,我只想发送2015-04-01(客户端本地日期),而不是2015-03-31T16:00:00.000Z,后者是相应的UTC日期。在我看来,实现这一点的最简单方法就是覆盖.toJSON 我最初的想法是使用: 但是,我不知道如何引用dt(实例的自身)来实现这一点 是的,我仍然在用Python思考…因为toJSON被指定为原型方法,这个将引用方法中的日期,所以 function toJSON() {
2015-04-01
(客户端本地日期),而不是2015-03-31T16:00:00.000Z
,后者是相应的UTC日期。在我看来,实现这一点的最简单方法就是覆盖.toJSON
我最初的想法是使用:
但是,我不知道如何引用dt
(实例的自身)来实现这一点
是的,我仍然在用Python思考…因为toJSON被指定为原型方法,
这个
将引用方法中的日期,所以
function toJSON() {
return datetime.strftime(this, '%Y-%m-%d');
}
Date.prototype.toJSON = toJSON;
由于toJSON被指定为原型方法,
此
将引用方法中的日期,因此
function toJSON() {
return datetime.strftime(this, '%Y-%m-%d');
}
Date.prototype.toJSON = toJSON;
也许你需要DATETME.JS来做其他事情,但是如果你只是使用IF,那么你可以考虑一个简单的函数(也许附加到Date.prototype或者给出一个更有意义的名字):
函数toJSON(d){ //填充辅助工具 功能板(n,len){ 返回('000'+n).切片(-len); } //如果未在日期实例上调用,或者timevalue为NaN,则返回undefined if(isNaN(d)| | Object.prototype.toString.call(d)!=“[Object Date]”返回; //否则,返回ISO格式的本地日期字符串 返回垫(d.getFullYear(),4)+'-'+ pad(d.getMonth()+1,2)+'-'+ pad(d.getDate(),2); }write(toJSON(newdate())代码>
也许您需要DATETME.JS用于其他事情,但是如果您只是使用IF,那么您可以考虑一个简单的函数(可能附加到Date.prototype或给出一个更有意义的名称):
函数toJSON(d){ //填充辅助工具 功能板(n,len){ 返回('000'+n).切片(-len); } //如果未在日期实例上调用,或者timevalue为NaN,则返回undefined if(isNaN(d)| | Object.prototype.toString.call(d)!=“[Object Date]”返回; //否则,返回ISO格式的本地日期字符串 返回垫(d.getFullYear(),4)+'-'+ pad(d.getMonth()+1,2)+'-'+ pad(d.getDate(),2); }write(toJSON(newdate())是的,我是。不过,这是一个很好的独立解决方案,谢谢。是的,我是。不过,这是一个很好的独立解决方案,谢谢。