如何解决需要帮助编写显示日期的代码
我有一个用于抓取 Google 日历事件的 ajax 代码,我想动态地将两个日期放入从 Google 日历获取的 URL 字符串中
第一个日期 (timeMax=2021-02-28)
应该获取当前日期并添加 30 天
第二个日期 (timeMin=2021-02-15)
应该只是克当前日期
我的假设是我们将创建一个用于第一个日期 (timeMax) 变量和另一个用于 (timeMin) 变量的日期变量。然后将这两个变量放入关联的 URL 标记中。
任何关于代码应该是什么的帮助都会很棒。谢谢!
//Jquery's ajax request
$.ajax({
type: 'GET',url: 'https://www.googleapis.com/calendar/v3/calendars/eaachapter309@gmail.com/events?singleEvents=true&maxResults=30&timeMax=2021-02-28T00:00:00Z&timeMin=2021-02-15T00:00:00Z&orderBy=startTime&key=my_secret_key_goes_here',dataType: 'json',async: true
}).done(function(data) {
//once we get a successful response this callback function
//gets fired,and "data" contains the parsed json file .
//here we iterate over the object array
$.each(data.items,function(i,item) {
//I do this to later format these timestamps
//set options for date.toLocaleDateString() function
var options = {
month: 'short',day: 'numeric',hour: '2-digit',minute: '2-digit'
};
let start = new Date(item.start.dateTime).toLocaleDateString('en-US',options);
let end = new Date(item.end.dateTime).toLocaleDateString('en-US',options);
let end_splt = end.split(',');
//append data to the list.
if (item.status != "cancelled") {
$('table.isSearch tbody').append(`<tr mbr-list mbr-list-grow="tableColumns"><td class="body-item mbr-fonts-style display-7" width=15%>${item.summary}</td><td class="body-item mbr-fonts-style display-7" width=25%>${start} - ${end_splt[1]}</td><td class="body-item mbr-fonts-style display-7" width=60%>Location: ${item.location}<br><br>${item.description}</td></tr>`);
}
});
}).fail(function(e) {
error(e);
});
var months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
解决方法
谢谢 Mark 这确实适用于其他一些代码调整。感谢参考网址。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
//function myDateFunction() {
// Variable for Date Max in URL string
var dateMax = new Date(); // Now
dateMax.setDate(dateMax.getDate() + 30) // Set now + 30 days as the new date
var dateStringMax = dateMax.toISOString().split('T')[0]
// Variable for Date Min in URL string
var dateMin = new Date(); // Now
dateMin.setDate(dateMin.getDate()) // Set now + 30 days as the new date
var dateStringMin = dateMin.toISOString().split('T')[0]
// Set variable for url
var urlCalendar = 'www.googleapis.com/calendar/v3/calendars/eaachapter309@gmail.com/events?singleEvents=true&maxResults=30&timeMax=ABC123T00:00:00Z&timeMin=XYZ123T00:00:00Z&orderBy=startTime&key=my_secret_key_goes_here';
urlCalendar = urlCalendar.replace("ABC123",dateStringMax);
urlCalendar = urlCalendar.replace("XYZ123",dateStringMin);
urlCalendar = 'https://' + urlCalendar;
//alert(urlCalendar); //Use for testing to ensure dynamic URL is generated
//document.write(urlCalendar)
//}
</script>
<script>
//Jquery's ajax request
$.ajax({
type:'GET',url:urlCalendar,dataType: 'json',async:true
}).done(function(data){
//once we get a successful response this callback function
//gets fired,and "data" contains the parsed json file .
//here we iterate over the object array
$.each(data.items,function(i,item){
//I do this to later format these timestamps
//set options for date.toLocaleDateString() function
var options = { month: 'short',day: 'numeric',hour: '2-digit',minute: '2-digit' };
let start = new Date(item.start.dateTime).toLocaleDateString('en-US',options);
let end = new Date(item.end.dateTime).toLocaleDateString('en-US',options);
let end_splt = end.split(',');
//append data to the list.
if(item.status != "cancelled"){
$('table.isSearch tbody').append(`<tr><td class="body-item mbr-fonts-style display-7" width=15%>${item.summary}</td><td class="body-item mbr-fonts-style display-7" width=25%>${start} - ${end_splt[1]}</td><td class="body-item mbr-fonts-style display-7" width=60%>Location: ${item.location}<br><br>${item.description}</td></tr>`);
}
});
}).fail(function(e){
error(e);
});
var months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。