如何将新的Date()转换为JSON字符串?
问题描述:
我目前正在研究离子应用程序,我正在使用Ionic Native Calendar Plugin在我的项目中创建日历事件。我希望能够为每个事件动态更改日期和时间,因此我将Firebase用作后端,并希望将日历参数集成到我的JSON文件中以实现此目的。如何将新的Date()转换为JSON字符串?
一切工作以及以下的标准方法,该方法是,具有的功能的按钮:
**home.html**
<button ion-button (click)="createEvent()">Add to Calendar</button>
,然后宣称该函数:
**home.ts**
createEvent() {
this.calendar.createEvent('myEventName', 'myEventLocation', 'myEventNote', new Date(2017, 9, 20, 13, 0, 0, 0),
new Date(2017, 9, 20, 14, 0, 0, 0)).then(() => {
console.log('Event Created!');
}).catch((err) => {
console.log('Oops, something went wrong:', err);
});
}
如果我运行上面在该方法中我的项目成功创建了该事件。 但是,使用此方法将不会允许我能够动态创建日历事件,这正是我试图实现的目标。所以不知何故,我需要将我的createEvent()
中home.ts
文件中的代码链接到我的JSON
文件中,对吧?所以这就是我到目前为止所尝试的,似乎没有任何工作,我不知道我要去哪里错了 - 我怀疑我没有正确地将新的Date()参数转换为可读的JSON串?以下是我在试图动态地创建我的事件通过JSON迄今所做的:
home.html的:
<button ion-button (click)="createEvent()">Add to Calendar</button>
home.ts:
import firebase from 'firebase';
export class HomePage {
events = [];
constructor(..) {
firebase.database().ref('events').on('value', snapshot => {
this.events = snapshot.val();
});
}
createEvent() {
this.calendar.createEvent(
this.item.item[0].title,
this.item.item[0].location,
this.item.item[0].notes,
this.item.item[0].startDate,
this.item.item[0].endDate,
).
then(() => {
console.log('Event Created!');
})
.catch((err) => {
console.log('Oops, something went wrong:', err);
});
}
JSON文件(在Firebase数据库中):
"events" : [ {
"title" : "myEventName",
"location" : "myEventLocation",
"notes" : "myEventNote",
"startDate" : "new Date(2017, 9, 20, 13, 0, 0, 0)",
"endDate" : "new Date(2017, 9, 20, 14, 0, 0, 0)"
}, {
因此,当我运行上述任何事情时,没有使用此方法创建日历事件。请协助。谢谢。
答
了一下周围窥探后,我得到了它使用下面的方法来工作...
home.html的:
<button ion-button (click)="createEvent()">Add to Calendar</button>
home.ts:
import firebase from 'firebase';
export class HomePage {
public events;
public item;
constructor(...) {
firebase.database().ref('events').on('value', snapshot => {
this.events = snapshot.val();
});
this.item.startDate = new Date(this.item.startDate);
this.item.endDate = new Date(this.item.endDate);
}
createEvent() {
this.calendar.createEventInteractively(
this.item.title,
this.item.eventLocation,
this.item.notes,
this.item.startDate,
this.item.endDate,
).
then(() => {
console.log('Event Created!');
})
.catch((err) => {
console.log('Oops, something went wrong:', err);
});
}
JSON文件(在Firebase数据库中):
"events" : [ {
"title" : "myEventName",
"eventLocation" : "myEventLocation",
"notes" : "myEventNote",
"startDate" : "2010-05-10T10:20:00+02:00",
"endDate" : "2010-05-10T18:30:00+02:00"
}, {
感谢您的反馈。它在我的研究中帮助了我。 –