1document.addEventListener('DOMContentLoaded', function() { 2 // Convert server times to user local time 3 const timeElements = document.querySelectorAll( 4 '.course-completion-time, .lp-course-progress time, ' + 5 '.course-results-progress time, .lp-user-item-time, ' + 6 '.course-finish-time, .lp-course-status time, ' + 7 '.learn-press-progress time, [data-timestamp], ' + 8 '.lp-profile-content time, .lp-user-profile time' 9 ); 10 11 timeElements.forEach(function(el) { 12 let timestamp = el.getAttribute('data-timestamp') || 13 el.getAttribute('datetime') || 14 el.innerText.trim(); 15 if (timestamp) { 16 try { 17 const date = new Date(timestamp); 18 if (!isNaN(date.getTime())) { 19 el.innerText = date.toLocaleString(undefined, { 20 year: 'numeric', month: 'short', day: 'numeric', 21 hour: '2-digit', minute: '2-digit', hour12: true 22 }); 23 el.title = 'Your local time'; 24 } 25 } catch (e) {} 26 } 27 }); 28});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.