Advertisement
ClayHanson

blf_userscript_datefix

Jul 9th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Blockland Forums 'Today' and 'Yesterday' dates
  3. // @version 1
  4. // @author Clay Hanson [15144]
  5. // @grant none
  6. // @match https://forum.blockland.us/*
  7. // ==/UserScript==
  8.  
  9. function parseDates() {
  10. var content = document.getElementById("content_section");
  11. if(content == undefined) return;
  12.  
  13. var text = content.innerHTML;
  14. var curTime = new Date();
  15. var months = ["Janurary", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
  16. var regexes = [
  17. /(Janurary|February|March|April|May|June|July|August|September|October|November|December) ([0-9][0-9]), (20[0-9][0-9]), ([0-9][0-9]\:[0-9][0-9]\:[0-9][0-9])/,
  18. /* Month index */ 0, /* Day index */ 1, /* Year index */ 2, /* Time index */ 3
  19. ];
  20.  
  21. while(true) {
  22. var month;
  23. var year;
  24. var day;
  25. var time;
  26. var done = 0;
  27. for(var i=0;i<=regexes.length;i+=5) {
  28. if(i == regexes.length) { done = 1; break; } // Couldn't find any dates to convert!
  29.  
  30. var regie = regexes[i];
  31. var moIdx = regexes[i + 1];
  32. var daIdx = regexes[i + 2];
  33. var yrIdx = regexes[i + 3];
  34. var tmIdx = regexes[i + 4];
  35. var match = text.match(regie);
  36.  
  37. if(match == null || match.length == 0) { continue; }
  38.  
  39. month = match[moIdx + 1];
  40. year = match[yrIdx + 1];
  41. day = parseInt(match[daIdx + 1]);
  42. time = match[tmIdx + 1];
  43.  
  44. break;
  45. }
  46.  
  47. if(done) break;
  48.  
  49. var str = month + "{{{on}}} " + day + ", " + year + ", ";
  50.  
  51. if(curTime.getFullYear() == year && curTime.getMonth() == months.indexOf(month) && curTime.getDate() == day) { str = "<b>Today</b> at "; }
  52. else if(curTime.getFullYear() == year && curTime.getMonth() == months.indexOf(month) && curTime.getDate() == day + 1) { str = "<b>Yesterday</b> at "; }
  53.  
  54. text = text.substring(0, text.indexOf(match[0])) + str + time + text.substring(text.indexOf(match[0]) + match[0].length, text.length);
  55. }
  56.  
  57. text = text.replace(/{{{on}}}/g, "");
  58.  
  59. content.innerHTML = text;
  60. }
  61.  
  62. parseDates();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement