Wikipedia:Comments in Local Time

Comments in Local Time (source code) is a gadget that changes UTC-based dates, such as those in signatures, to be relative to the user's local time. It also adds the day of the week to dates, and uses common phrases to describe dates (i.e., Today, 2 months ago, etc.).

This script uses plain JavaScript, making pages load significantly faster than if the script used jQuery.

Before Comments in Local Time is used
After Comments in Local Time is used

Installation

edit

To enable this gadget, go to your preferences, click on the "Gadgets" tab, and checkmark the box labeled "Change UTC-based time and date stamps, such as those used in talk page comments, to be relative to local time."

This script can also be installed by copying the code below to your custom JavaScript file:

importScript('User:Gary/comments in local time.js'); // [[User:Gary/comments in local time.js]]

Examples

edit

00:00 1 January 2011 (UTC) is changed to 7:00 pm, 31 December 2010, Friday (1 month, 2 days ago) (UTC-5).

The date is shown in your local time, based on your computer's timezone setting. The display is highly customizable through the use of options. For instance:

00:00 1 January 2011 (UTC) can instead be changed to 19:00, December 31, 2010, (33 days ago) (UTC-5).

Dates that are either today, yesterday, or tomorrow are shown with relative dates, such as Today, 1:00 am (UTC-5).

Settings

edit

Default settings

edit
window.LocalComments = {
    dateDifference: true,
    dateFormat: 'dmy',
    dayOfWeek: true,
    dropDays: 0,
    dropMonths: 0,
    timeFirst: true,
    twentyFourHours: false,
};

Custom settings

edit

To change the default settings, copy the above code to your custom JavaScript file, placing it before the importScript used to import this script, and change the values after the colon. The settings are explained in greater detail below. After changing the settings, force your browser to perform a full reload of a talk page to see the effect.

dateDifference
Shows the difference in terms of days, months, and years from the timestamp and today's date.
Options: true to show the difference between the timestamp and today's date, and false to hide the difference
dateFormat
Changes the date's format.
Options: 'dmy' for "1 January 2009", 'mdy' for "January 1, 2009", and 'ymd' for "2009-01-01"
dayOfWeek
Displays the day of the week.
Options: true to add the day of the week, and false to suppress the day of the week
dropDays
Number of days in difference at which point only the number of months is displayed.
Options: 0 to always show the number of days, and >0 to set a maximum number of days to show
dropMonths
Number of months in difference at which point only the number of years is displayed.
Options: 0 to always show the number of months, and >0 to set a maximum number of months to show
timeFirst
Changes the order in which the time and date appears in timestamps.
Options: true for the time to appear before the date, and false for the date to appear before the time
twentyFourHours
Uses a 24-hour clock instead of the default 12-hour clock.
Options: false for a 12-hour clock, and true for a 24-hour clock
Usage of dropDays and dropMonths
dropDays dropMonths Days difference Displayed text
0 0 75 2 months, 14 days
0 0 170 5 months, 18 days
0 0 400 1 year, 1 month, 3 days
0 0 800 2 years, 2 months, 7 days
93 0 75 75 days
93 0 170 5 months
93 0 400 1 year, 1 month
93 0 800 2 years, 2 months
0 24 75 2 months, 14 days
0 24 170 5 months, 18 days
0 24 400 13 months, 3 days
0 24 800 2 years
93 24 75 75 days
93 24 170 5 months
93 24 400 13 months
93 24 800 2 years

Settings for minimum display text

edit

To produce the smallest display text that still includes the date difference, copy the following code to your custom JavaScript file:

window.LocalComments = {
	dateDifference: true,
	dateFormat: 'dmy',
	dayOfWeek: false,
	dropDays: 93,
	dropMonths: 24,
	timeFirst: true,
	twentyFourHours: true,
};

To produce the absolute smallest display text, suppress the date difference entirely by copying the following code to your custom JavaScript file:

window.LocalComments = {
	dateDifference: false,
	dateFormat: 'dmy',
	dayOfWeek: false,
	dropDays: 93,
	dropMonths: 24,
	timeFirst: true,
	twentyFourHours: true,
};

Style

edit

To change the timestamp's style, add the code below to your common.css page and modify it using Cascading Style Sheets. For example, to change the timestamp's size, increase or decrease the percentage in the code accordingly, such as to 100% (it's set at 95% font size by default).

.localcomments { font-size: 100% !important; }

Local time

edit

The script draws local time for signatures from the time set on the user's computer. The time for logs and page histories is drawn from the time set in the appearance tab in each user's preferences.

Localization

edit

To use this script on another Wikipedia language, copy the code from comments in local time.js, and follow the instructions under LOCALIZING THIS SCRIPT in the script's comments. The regular expression used to find timestamps may also need to be updated, on the line following document.querySelector('.mw-parser-output').

See also

edit