Reddit Absolute Timestamps Tampermonkey Script

🧩 Syntax:

// ==UserScript== // @name Reddit Absolute Timestamps // @namespace http://tampermonkey.net/ // @version 1.1 // @description Transforms relative "ago" timestamps into absolute dates on Reddit. // @author Gemini // @match https://www.reddit.com/* // @grant none // @run-at document-idle // ==/UserScript==

(function() { 'use strict';

const convertTimestamps = () => {
    // Target both the custom element and standard time tags
    const timeElements = document.querySelectorAll('faceplate-timeago, time');

    timeElements.forEach(el => {
        if (el.dataset.absoluteFinished) return;

        // Priority 1: The 'datetime' attribute (ISO string)
        // Priority 2: The 'title' attribute (User-friendly string)
        const rawDate = el.getAttribute('datetime') || el.getAttribute('title');

        if (rawDate) {
            try {
                const date = new Date(rawDate);
                
                // Check if the date is actually valid before replacing text
                if (!isNaN(date.getTime())) {
                    // Formats to: "March 13, 2026, 10:22 PM" (based on your system locale)
                    el.innerText = date.toLocaleString(undefined, {
                        year: 'numeric',
                        month: 'short',
                        day: 'numeric',
                        hour: '2-digit',
                        minute: '2-digit'
                    });
                    
                    el.dataset.absoluteFinished = "true";
                    
                    // Disable the component's internal auto-update logic
                    el.setAttribute('data-no-update', 'true');
                }
            } catch (e) {
                console.error("Failed to parse date:", rawDate);
            }
        }
    });
};

// Run frequently enough to catch dynamic loads, but efficiently
setInterval(convertTimestamps, 2000);

// Also run on scroll/click for responsiveness
window.addEventListener('scroll', convertTimestamps);
window.addEventListener('click', convertTimestamps);

convertTimestamps();

})();