// ==UserScript== // @name Exact-Time-Viewer-For-Instagram // @namespace http://tampermonkey.net/ // @version 1.1.2 // @description Converts Instagram time elements to local time zone in user's local time zone format with time zone info added. // @match *://*.instagram.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=instagram.com // @author aspen138 // @grant none // @license MIT // @downloadURL none // ==/UserScript== // Port the chrome extension `Exact-Time-Viewer-For-Instagram` to tampermonkey script // reference: https://github.com/ehmorris/Exact-Time-Viewer-For-Instagram (function() { 'use strict'; const processedElements = new WeakSet(); function formatDate(datetime) { const dateObject = new Date(datetime); const time = dateObject.toLocaleTimeString(); const date = dateObject.toLocaleDateString(); const localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone; return `${time}, ${date} (in the ${localTimeZone} time zone)`; } function processTimeElement(element) { if (!processedElements.has(element)) { const datetime = element.getAttribute('datetime'); if (datetime) { const formattedDate = formatDate(datetime); element.innerHTML = formattedDate; processedElements.add(element); } } } function processTimeElements(root) { const timeElements = root.querySelectorAll('time[datetime]'); timeElements.forEach(element => { processTimeElement(element); }); } // Process existing