如何解决将 JSON 日期更改为实际日期
我最近才开始学习 javascript,所以对于初学者的问题,我深表歉意。 我想要做的是将我通过外部 JSON 文件访问的 SentDate 更改为更具可读性的 dd/mm/yyyy 格式。我创建了一个循环,并尝试在此处进行更改,但它的行为不正常。
这是我的 JSON 文件:
[
{
"Name":"John Smith","FromName":"Peter A","FromEmail":"test@notreal.com","ReplyTo":"test@notreal.com","SentDate":"2020-11-11 19:21:00",},{
"Name":"Jane Doe","FromName":"Bob Richards","FromEmail":"test2@notreal.com","ReplyTo":"test2@notreal.com","SentDate":"2019-11-11 19:21:00",}
]
这是我的 Javascript:
var request = new XMLHttpRequest();
request.open("GET","data/informationdata.json",false);
request.send(null);
var abcPre = JSON.parse(request.responseText);
console.log("type of data: "+typeof(abcPre));
for(var i = 0; i < abcPre.length;i++){
if (abcPre.SentDate = [] ){
abcPre.SentDate = new Date (SentDate).toLocaleDateString("en-GB").split("-");
console.log(abcPre[i].SentDate);
}
}
有人可以帮忙指出我在尝试更改日期时出错的地方吗?
提前致谢。
编辑:这是修改后的代码,现在至少返回了一些东西。结果是“无效日期”,但其进度:
var request = new XMLHttpRequest();
request.open("GET",false);
request.send(null);
var abcPre = JSON.parse(request.responseText);
console.log("type of data: "+typeof(abcPre));
for(var i = 0; i < abcPre.length;i++){
if (abcPre.SentDate = [] ){
abcPre[i].SentDate = new Date (abcPre.SentDate).toLocaleDateString("en-GB").split("-");
console.log(`new date ${abcPre.sentDate}`);
}
}
再次感谢。
解决方法
for(var i = 0; i < abcPre.length;i++){
if (abcPre[i].SentDate == [] ){
abcPre[i].SentDate = new Date (abcPre.SentDate).toLocaleDateString("en-GB").split("-");
console.log(`new date ${abcPre.sentDate}`);
}
}
,
var d1="2019-12-29 19:21:00";
var d2=d1.split(" ");
var d3=d2[0];
var d4=d3.split("-").reverse().join("-");
console.log(d4) // Output 29-12-2019
var d5=d4+" "+d2[1]
console.log(d5); // Output 29-12-2019 19:21:00
var d1="2019-12-29 19:21:00";
var d2=d1.split(" ");
var d3=d2[0];
var d4=d3.split("-").reverse().join("-");
console.log(d4) // 29-12-2019
var d5=d4+" "+d2[1]
console.log(d5); // 29-12-2019 19:21:00
非常感谢所有帮助我解决问题的人。 我终于让它工作了。
这是:
for(var i = 0; i < abcPre.length;i++){
console.log(abcPre[i]);
if (abcPre.SentDate = []) {
abcPre[i].SentDate = new Date (abcPre[i].SentDate).toLocaleDateString("en-GB").split("-");
console.log(`new date ${abcPre.sentDate}`);
}
else {
console.log(`re-check date IF statement`);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。