我使用以下json
代码将jquery
数组中的值分配给表单:
$.getJSON('/mysite',function(result){
$('.forminput').each(function(){
$(this).val(result[this.id]);
});
};
数组看起来像这样,并且生日为#{1}}生日':
date
我想将日期转换为{name: 'John',
address: 'here',
birthday: ISODate("1974-10-27T16:00:00Z")}
格式(否则显示为:' 2010-10-27T16:00:00.000Z')。我的问题是,在分配之前,我可以向客户端插入什么代码来转换mm/dd/yyyy
值,例如:
date
感谢任何帮助!
答案 0 :(得分:1)
使用以下命令在iso日期字符串上创建一个新的Date对象:
var dateString = "2010-10-27T16:00:00.000Z";
var d = new Date(dateString);
然后,您可以访问日期对象的各种方法,并构造您需要的字符串。 e.g。
var result = (d.getMonth() +1) + '/' + d.getDate() + '/' + d.getFullYear();
产生结果" 10/27/2010"。
您需要循环处理您的响应并将上述代码应用于每个iso日期值。
答案 1 :(得分:1)
在他的原始版本的JSON类的某个地方,主人自己, 道格拉斯·克罗克福德(Douglas Crockford)提供了一种“复兴" JSON对象中的日期对象,请参阅here:
reviver
函数JSON.parse()
可以作为Date.prototype.fmtUS=function(){
var dd=function(i){return (i<10?'0':'')+i;};
return dd(this.getMonth()+1)+'/'+dd(this.getDate())+'/'+this.getFullYear();};
new Date().fmtUS() // "08/29/2015"
函数的第二个参数插入,只有在识别出ISO日期字符串时才会执行。
要将具有指定格式的日期对象插入表单,您可以使用以下内容:
fmtUS()
如果您想更进一步,还可以通过
将with(Date.prototype)toString=fmtUS;
new Date(); // "08/29/2015"
作为标准日期格式
Private Sub Worksheet_Change(ByVal Target As Range)
'write your code here (Target is the cell)
End Sub
答案 2 :(得分:0)
这就是我最终做的事情:
$.getJSON('/mysite',function(result){
$('.forminput').each(function(){
if (this.id==='birthday'){
console.log('result[this.id]: '+result[this.id]);
var bday=convertdate(result[this.id]);
console.log(bday);
$(this).val(bday);
}
else{
$(this).val(result[this.id]);// assigns each key value to each element id.
}
和convertdate函数:
function convertdate(dtvalue){
console.log('converting date')
var datestring = new Date(dtvalue);
var d=new Date(datestring);
return result = (d.getMonth() +1) + '/' + d.getDate() + '/' + d.getFullYear();
}