{"id":9817,"date":"2023-06-20T14:24:37","date_gmt":"2023-06-20T14:24:37","guid":{"rendered":"https:\/\/www.makemydayapp.com\/?page_id=9817"},"modified":"2024-01-07T22:02:48","modified_gmt":"2024-01-07T22:02:48","slug":"%e6%b4%bb%e5%8a%a8%e6%97%a5%e7%a8%8b%e5%ae%89%e6%8e%92%e5%99%a8","status":"publish","type":"page","link":"https:\/\/www.makemydayapp.com\/zh\/%e6%b4%bb%e5%8a%a8%e6%97%a5%e7%a8%8b%e5%ae%89%e6%8e%92%e5%99%a8\/","title":{"rendered":"\u6d3b\u52a8\u65e5\u7a0b\u5b89\u6392\u5668"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"9817\" class=\"elementor elementor-9817\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5f3504d7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5f3504d7\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6d5de7d1\" data-id=\"6d5de7d1\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a25ab9c elementor-widget elementor-widget-heading\" data-id=\"a25ab9c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\"><span> \u6b22\u8fce\u4f7f\u7528Make My Day\u6c7d\u8f66\u4e0e\u7535\u52a8\u6c7d\u8f66\u884c\u4e1a\u7684\u6d3b\u52a8\u65e5\u7a0b\u5b89\u6392\u5668\uff01\u901a\u8fc7\u6211\u4eec\u5f3a\u5927\u7684\u65e5\u7a0b\u5b89\u6392\u5de5\u5177\uff0c\u7b80\u5316\u60a8\u7684\u6d3b\u52a8\u7b56\u5212\u548c\u7ec4\u7ec7\u3002\u6211\u4eec\u7cbe\u5fc3\u7b56\u5212\u4e86\u884c\u4e1a\u9886\u5148\u7684\u6d3b\u52a8\u548c\u4f1a\u8bae\uff0c\u6c47\u96c6\u4e8e\u4e00\u4e2a\u5730\u65b9\uff0c\u4f7f\u60a8\u7684\u4f53\u9a8c\u53d8\u5f97\u65e0\u7f1d\u548c\u8f7b\u677e\u3002<\/span><\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-603fbfa elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"603fbfa\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3581bd7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3581bd7\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-44a45d5\" data-id=\"44a45d5\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-265b07b elementor-widget-mobile__width-initial c-text-container elementor-widget elementor-widget-html\" data-id=\"265b07b\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"event-list\"><\/div>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/ical.js@1.4.0\/build\/ical.js\"><\/script>\n<script>\n    let calendarUrl = '\/ical_proxy.php'; \/\/ Get calendar URL\n\n    \/\/ Get the .ics file\n    fetch(calendarUrl)\n          .then((response) => {\n            if (!response.ok) {\n              throw new Error('Error getting the file iCalendar.');\n            }\n            return response.json();\n          })\n        .then((data) => {\n            const jcalData = ICAL.parse(data.ics_data);\n            const comp = new ICAL.Component(jcalData);\n            let events = comp.getAllSubcomponents('vevent');\n\n            \/\/ Filter and process events for the next 3 months\n            const currentDate = new Date();\n            const threeMonthsLater = new Date(currentDate);\n            threeMonthsLater.setMonth(threeMonthsLater.getMonth() + 3);\n\n            events = events.filter((event) => {\n                const startDate = new Date(event.getFirstPropertyValue('dtstart'));\n                return startDate >= currentDate && startDate <= threeMonthsLater;\n            });\n\n            \/\/ Show the events\n            sortEventsByStartDate(events);\n            const eventsByMonth = groupEventsByMonth(events)\n            renderEventList(eventsByMonth);\n        })\n        .catch(function (error) {\n            console.error('Error getting iCalendar file:', error);\n        });\n\n        function renderEventList(eventsByMonth) {\n            let html = '';\n\n            \/\/ Generate HTML per month\n            for (const monthYear in eventsByMonth) {\n                html             += '<h2>' + monthYear + '<\/h2>';\n                const monthEvents = eventsByMonth[monthYear];\n\n                monthEvents.forEach(event => {\n                    const { summary, description, location, startDate } = event;\n                    const startDateFormatted                            = event.startDate.toLocaleString('en', { day: 'numeric', weekday: 'long' });\n                    let timeRange                                       = startDateFormatted;\n\n                    if (event.startDate.getHours() != 0 && event.startDate.getMinutes() != 0 && event.startDate.getSeconds() != 0) {\n                        const startTime = event.startDate.toLocaleString('en', { hour: 'numeric', minute: 'numeric' });\n                        timeRange       = `${startDateFormatted} ${startTime}`;\n                    }\n\n                    html += `<ul style=\"margin-bottom: 10px;\">\n                                <li><strong> ${timeRange} <\/strong>: ${summary}<br>`;\n\n                    if (description !== '') {\n                        html += `<div class=\"c-calendar-content-text\">Description: ${description}<\/div>`;\n                    }\n\n                    if (location !== '') {\n                        html += `<div class=\"c-calendar-content-text\">Location: ${location}<\/div>`;\n                    }\n\n                    html += '<\/li><\/ul>';\n                });\n            html += '<br>';\n            }\n            document.getElementById('event-list').innerHTML = html;\n\n            const accessLink        = document.createElement('button');\n            accessLink.textContent  = 'Request access to the calendar';\n            accessLink.classList.add('c-access-link');\n            accessLink.title        = \"Open calendar to request access\"\n            document.getElementById('event-list').appendChild(accessLink);\n            \n            accessLink.addEventListener('click', function() {\n                window.open('https:\/\/calendar.google.com\/calendar\/u\/0?cid=aWxrcGg5aTBmOWxpMDBzMXFkOWFvbW9mNWtAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ', '_blank');\n            });\n        }\n\n        \/\/ Group events by month and returning in a variable\n        function groupEventsByMonth(events) {\n            const eventsByMonth = {};\n            events.forEach(event => {\n                const startDateObject = event.getFirstPropertyValue('dtstart')._time;\n                const year            = startDateObject.year;\n                const month           = startDateObject.month-1 \/\/ Subtract 1 since months in JavaScript start from 0\n                const startDate       = new Date(year, month, startDateObject.day);\n\n                \/\/ Get the name of the month and the year in \"month year\" format (example: \"april 2022\")\n                const monthYear = startDate.toLocaleString('default', { month: 'long', year: 'numeric' });\n\n                if (!eventsByMonth[monthYear])\n                eventsByMonth[monthYear] = [];\n\n                eventsByMonth[monthYear].push({\n                startDate: startDate,\n                summary: event.getFirstPropertyValue('summary') || '',\n                description: event.getFirstPropertyValue('description') || '',\n                location: event.getFirstPropertyValue('location') || ''\n                });\n            });\n            return eventsByMonth;\n        }\n\n        \/\/ Sort events by start date\n        function sortEventsByStartDate(events) {\n            events.sort((event1, event2) => {\n                return new Date(event1.getFirstPropertyValue('dtstart')) - new Date(event2.getFirstPropertyValue('dtstart'));\n            });\n        }\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cd1c9e7 elementor-widget elementor-widget-spacer\" data-id=\"cd1c9e7\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-76d487d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"76d487d\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0e50744\" data-id=\"0e50744\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-22675d1 elementor-widget elementor-widget-html\" data-id=\"22675d1\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n    const mainContent = document.getElementById('content');\n\n    if (mainContent)\n        mainContent.style.paddingTop = '90px';\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Welcome to Make My Day&#8217;s Events Scheduler for the Automotive &amp; EV industry! Simplify your event planning and organization with our powerful scheduling tool. We have curated a comprehensive collection of the industry&#8217;s leading events and conferences, all in one place, to make your experience seamless and hassle-free.<\/p>","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"content-type":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-9817","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.makemydayapp.com\/zh\/wp-json\/wp\/v2\/pages\/9817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.makemydayapp.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.makemydayapp.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.makemydayapp.com\/zh\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.makemydayapp.com\/zh\/wp-json\/wp\/v2\/comments?post=9817"}],"version-history":[{"count":10,"href":"https:\/\/www.makemydayapp.com\/zh\/wp-json\/wp\/v2\/pages\/9817\/revisions"}],"predecessor-version":[{"id":11865,"href":"https:\/\/www.makemydayapp.com\/zh\/wp-json\/wp\/v2\/pages\/9817\/revisions\/11865"}],"wp:attachment":[{"href":"https:\/\/www.makemydayapp.com\/zh\/wp-json\/wp\/v2\/media?parent=9817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}