Last active
April 9, 2020 11:08
-
-
Save FromeXo/451bca833bd9b0e3b9eae46a4ed493bc to your computer and use it in GitHub Desktop.
nej
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var cDate = new Date(); | |
| function f_ts(time) { | |
| let d = time.getFullYear() + '-' + ('0' + (time.getMonth()+1)).slice(-2) + '-' + ('0' + time.getDate()).slice(-2); | |
| return d + ' ' + ('0' + (time.getHours())).slice(-2) +':'+('0' + (time.getMinutes())).slice(-2)+':00'; | |
| } | |
| function h_t_m(h) {return ((parseInt(h) * 60) * 60) * 1000;} | |
| function m_t_m(m) {return (m * 60) * 1000;} | |
| function hm_t_m(x) { | |
| x = x.split(':'); | |
| return (((parseInt(x[0]) * 60) * 60) * 1000) + ((parseInt(x[1]) * 60) * 1000); | |
| } | |
| var s = document.querySelectorAll('#listing .c-yourstudents-student'); | |
| var data = []; | |
| for (let i=0; s.length > i; i++) { | |
| let n = s[i].querySelector('.c-yourstudents-student__name button').innerHTML; | |
| let lv = s[i].querySelector('.c-yourstudents-student__lastvisited span:last-child').innerHTML; | |
| // Format "x timmar sedan" | |
| if ( /\d+ timmar sedan/.test(lv) ) { | |
| let ts = new Date(cDate.getTime() - h_t_m(lv.match(/\d{1,2}/))); | |
| lv = f_ts(ts); | |
| } | |
| // Format "x minter sedan" | |
| if ( /\d+ minuter sedan/.test(lv) ) { | |
| let ts = new Date(cDate.getTime() - m_t_m(lv.match(/\d{1,2}/))); | |
| lv = f_ts(ts); | |
| } | |
| // Format "I går vid xx:xx" | |
| if ( /I går vid \d{1,2}:\d{1,2}/.test(lv) ) { | |
| let m = hm_t_m(lv.match(/\d{1,2}:\d{1,2}$/).toString()); | |
| let mt = cDate.getTime() - h_t_m(cDate.getHours() + 24); | |
| mt = mt - m_t_m(cDate.getMinutes()); | |
| lv = f_ts(new Date(mt + m)); | |
| } | |
| // format "{dag} vid xx:xx" | |
| if ( /(måndag|tisdag|onsdag|torsdag|fredag|lördag|söndag) vid \d{1,2}:\d{1,2}/.test(lv) ) { | |
| let ld = lv.match(/^(mån|tis|ons|tors|fre|lör|sön)dag/); | |
| let td = cDate.getDay(); | |
| let dn = ['söndag','måndag','tisdag','onsdag','torsdag','fredag','lördag'].indexOf(ld[0]); | |
| let ds = dn > td ? dn + 1:td - dn; | |
| let hm = hm_t_m(lv.match(/\d{1,2}:\d{1,2}$/).toString()); | |
| let mt = (cDate.getTime() - h_t_m((ds * 24) + cDate.getHours())) - m_t_m(cDate.getMinutes()); | |
| lv = f_ts(new Date(mt + hm)); | |
| } | |
| // Format "den x {månad}" | |
| if ( /den \d{1,2} (januari|februari|mars|april|maj|juni|juli|augusti|september|oktober|november|december)/.test(lv) ) { | |
| let m = ['January','February','March','April','May','June','July','August','September','October','November','December']; | |
| let sm = ['januari','februari','mars','april','maj','juni','juli','augusti','september','oktober','november','december']; | |
| let cm = lv.match(/(januari|februari|mars|april|maj|juni|juli|augusti|september|oktober|november|december)$/); | |
| let mi = sm.indexOf(cm[0]); | |
| let day = lv.match(/\d{1,2}/); | |
| let ds = m[mi] + ' ' + day[0] + ', ' + cDate.getFullYear() + ' 12:00:00'; | |
| lv = f_ts(new Date(ds)); | |
| } | |
| data.push({name:n,lastvisited:lv}); | |
| } | |
| var win = window.open("data:text/json"); | |
| win.document.write(JSON.stringify(data)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment