<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://tbpedia.org/wiki/MediaWiki:Gadget-UTCLiveClock.js/history?feed=atom</id>
	<title>MediaWiki:Gadget-UTCLiveClock.js - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://tbpedia.org/wiki/MediaWiki:Gadget-UTCLiveClock.js/history?feed=atom"/>
	<link rel="alternate" type="text/html" href="https://tbpedia.org/wiki/MediaWiki:Gadget-UTCLiveClock.js/history"/>
	<updated>2026-10-02T07:53:32Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://tbpedia.org/w/index.php?title=MediaWiki:Gadget-UTCLiveClock.js&amp;diff=1749&amp;oldid=prev</id>
		<title>蓮花祖泉：​导入1个版本</title>
		<link rel="alternate" type="text/html" href="https://tbpedia.org/w/index.php?title=MediaWiki:Gadget-UTCLiveClock.js&amp;diff=1749&amp;oldid=prev"/>
		<updated>2024-03-04T13:26:51Z</updated>

		<summary type="html">&lt;p&gt;导入1个版本&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2024年3月4日 (一) 21:26的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;zh&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;（没有差异）&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>蓮花祖泉</name></author>
	</entry>
	<entry>
		<id>https://tbpedia.org/w/index.php?title=MediaWiki:Gadget-UTCLiveClock.js&amp;diff=1683&amp;oldid=prev</id>
		<title>蓮花祖泉：​创建页面，内容为“/**  * Warning! Global gadget file!  *   * This gadget adds a clock in the personal toolbar that shows the current time  * in UTC (or a different timezone of your choosing), and also provides a link  * to purge the current page.  *  * Revision: July 2020  * Source: https://www.mediawiki.org/wiki/MediaWiki:Gadget-UTCLiveClock.js  *  * Installation:  *   * 1. Copy the JS page at https://www.mediawiki.org/wiki/MediaWiki:Gadget-UTCLiveClock.js  * to the page [[Medi…”</title>
		<link rel="alternate" type="text/html" href="https://tbpedia.org/w/index.php?title=MediaWiki:Gadget-UTCLiveClock.js&amp;diff=1683&amp;oldid=prev"/>
		<updated>2024-03-04T13:07:25Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“/**  * Warning! Global gadget file!  *   * This gadget adds a clock in the personal toolbar that shows the current time  * in UTC (or a different timezone of your choosing), and also provides a link  * to purge the current page.  *  * Revision: July 2020  * Source: https://www.mediawiki.org/wiki/MediaWiki:Gadget-UTCLiveClock.js  *  * Installation:  *   * 1. Copy the JS page at https://www.mediawiki.org/wiki/MediaWiki:Gadget-UTCLiveClock.js  * to the page [[Medi…”&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2024年3月4日 (一) 21:07的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;zh&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;（没有差异）&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>蓮花祖泉</name></author>
	</entry>
	<entry>
		<id>https://tbpedia.org/w/index.php?title=MediaWiki:Gadget-UTCLiveClock.js&amp;diff=1748&amp;oldid=prev</id>
		<title>Tbpedia&gt;Pppery：​Replace deprecated selector</title>
		<link rel="alternate" type="text/html" href="https://tbpedia.org/w/index.php?title=MediaWiki:Gadget-UTCLiveClock.js&amp;diff=1748&amp;oldid=prev"/>
		<updated>2024-01-27T03:33:22Z</updated>

		<summary type="html">&lt;p&gt;Replace deprecated selector&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * Warning! Global gadget file!&lt;br /&gt;
 * &lt;br /&gt;
 * This gadget adds a clock in the personal toolbar that shows the current time&lt;br /&gt;
 * in UTC (or a different timezone of your choosing), and also provides a link&lt;br /&gt;
 * to purge the current page.&lt;br /&gt;
 *&lt;br /&gt;
 * Revision: July 2020&lt;br /&gt;
 * Source: https://www.mediawiki.org/wiki/MediaWiki:Gadget-UTCLiveClock.js&lt;br /&gt;
 *&lt;br /&gt;
 * Installation:&lt;br /&gt;
 * &lt;br /&gt;
 * 1. Copy the JS page at https://www.mediawiki.org/wiki/MediaWiki:Gadget-UTCLiveClock.js&lt;br /&gt;
 * to the page [[MediaWiki:Gadget-UTCLiveClock.js]] on your wiki.&lt;br /&gt;
 * &lt;br /&gt;
 * 2. Copy the CSS page at https://www.mediawiki.org/wiki/MediaWiki:Gadget-UTCLiveClock.css&lt;br /&gt;
 * to the page [[MediaWiki:Gadget-UTCLiveClock.css]] on your wiki.&lt;br /&gt;
 * &lt;br /&gt;
 * 3. Copy the CSS page at https://www.mediawiki.org/wiki/MediaWiki:Gadget-UTCLiveClock-pagestyles.css&lt;br /&gt;
 * to the page [[MediaWiki:Gadget-UTCLiveClock-pagestyles.css]] on your wiki.&lt;br /&gt;
 * &lt;br /&gt;
 * 4. Add a description of the gadget to the page [[MediaWiki:Gadget-UTCLiveClock]]&lt;br /&gt;
 * on your wiki. You can use https://www.mediawiki.org/wiki/MediaWiki:Gadget-UTCLiveClock&lt;br /&gt;
 * as a template.&lt;br /&gt;
 * &lt;br /&gt;
 * 5. Add the following code to your wiki's [[MediaWiki:Gadgets-definition]]:&lt;br /&gt;
 * &lt;br /&gt;
 *     * UTCLiveClock[ResourceLoader|type=general|dependencies=mediawiki.util,mediawiki.api,user|peers=UTCLiveClock-pagestyles]|UTCLiveClock.js|UTCLiveClock.css&lt;br /&gt;
 *     * UTCLiveClock-pagestyles[hidden|skins=vector,monobook]|UTCLiveClock-pagestyles.css&lt;br /&gt;
 * &lt;br /&gt;
 * &lt;br /&gt;
 * To set the timezone used to one other than UTC, set window.LiveClockTimeZone to&lt;br /&gt;
 * the desired timezone. For example, adding the following to your common.js&lt;br /&gt;
 *      window.LiveClockTimeZone = 'America/Los_Angeles';&lt;br /&gt;
 * would result in the local time in Los Angeles being shown. See&lt;br /&gt;
 * [[:w:List of tz database time zones]] for valid options (use the TZ database name).&lt;br /&gt;
 * &lt;br /&gt;
 * If you find a seconds counter distracting, set:&lt;br /&gt;
 *		window.LiveClockHideSeconds = true;&lt;br /&gt;
 * &lt;br /&gt;
 */&lt;br /&gt;
/*global mw, $ */&lt;br /&gt;
mw.loader.using( ['mediawiki.util', 'mediawiki.api', 'user'] ).then( function () {&lt;br /&gt;
&lt;br /&gt;
function padWithZeroes( num ) {&lt;br /&gt;
	// Pad a number with zeroes. The number must be an integer where&lt;br /&gt;
	// 0 &amp;lt;= num &amp;lt; 100.&lt;br /&gt;
	return num &amp;lt; 10 ? '0' + num.toString() : num.toString(); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function showTime( $target ) {&lt;br /&gt;
	var now = new Date();&lt;br /&gt;
	&lt;br /&gt;
	var timezone = window.LiveClockTimeZone || 'UTC';&lt;br /&gt;
	var hideSeconds = window.LiveClockHideSeconds || false;&lt;br /&gt;
&lt;br /&gt;
	// Set the time.&lt;br /&gt;
	var hh, mm, ss;&lt;br /&gt;
	if ( timezone === &amp;quot;UTC&amp;quot; ) {&lt;br /&gt;
		hh = now.getUTCHours();&lt;br /&gt;
		mm = now.getUTCMinutes();&lt;br /&gt;
		ss = now.getUTCSeconds();&lt;br /&gt;
	} else if ( timezone === &amp;quot;local&amp;quot; ) {&lt;br /&gt;
		hh = now.getHours();&lt;br /&gt;
		mm = now.getMinutes();&lt;br /&gt;
		ss = now.getSeconds();&lt;br /&gt;
	} else {&lt;br /&gt;
		var newNow;&lt;br /&gt;
		try {&lt;br /&gt;
			newNow = new Date(&lt;br /&gt;
				now.toLocaleString(&lt;br /&gt;
					&amp;quot;en-US&amp;quot;,&lt;br /&gt;
					{ timeZone: timezone }&lt;br /&gt;
				)&lt;br /&gt;
			);&lt;br /&gt;
			hh = newNow.getHours();&lt;br /&gt;
			mm = newNow.getMinutes();&lt;br /&gt;
			ss = newNow.getSeconds();&lt;br /&gt;
		} catch ( err ) {&lt;br /&gt;
			console.log( &amp;quot;LiveClock - error creating Date object with timezone '&amp;quot; + timezone + &amp;quot;': &amp;quot; + err.name);&lt;br /&gt;
			timezone = &amp;quot;UTC&amp;quot;;&lt;br /&gt;
			newNow = now;&lt;br /&gt;
			hh = now.getUTCHours();&lt;br /&gt;
			mm = now.getUTCMinutes();&lt;br /&gt;
			ss = now.getUTCSeconds();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	if (hideSeconds) {&lt;br /&gt;
		var time = padWithZeroes( hh ) + ':' + padWithZeroes( mm );&lt;br /&gt;
	} else {&lt;br /&gt;
		var time = padWithZeroes( hh ) + ':' + padWithZeroes( mm ) + ':' + padWithZeroes( ss );&lt;br /&gt;
	}&lt;br /&gt;
	$target.text( time );&lt;br /&gt;
&lt;br /&gt;
	// Schedule the next time change.&lt;br /&gt;
	// &lt;br /&gt;
	// We schedule the change for 100 ms _after_ the next clock tick. The delay&lt;br /&gt;
	// from setTimeout is not precise, and if we aim exactly for the tick, there&lt;br /&gt;
	// is a chance that the function will run slightly before it. If this&lt;br /&gt;
	// happens, we will display the same time for two seconds in a row - not&lt;br /&gt;
	// good. By scheduling 100 ms after the tick, we will always be about 100 ms&lt;br /&gt;
	// late, but we are also very likely to display a new time every second.&lt;br /&gt;
	var ms = now.getUTCMilliseconds();&lt;br /&gt;
	setTimeout( function () {&lt;br /&gt;
		showTime( $target );&lt;br /&gt;
	}, 1100 - ms );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function liveClock() {&lt;br /&gt;
	// Set CSS styles. We do this here instead of on the CSS page because some&lt;br /&gt;
	// wikis load this page directly, without loading the accompanying CSS.&lt;br /&gt;
	mw.util.addCSS( '#utcdate a { font-weight:bolder; font-size:120%; }' );&lt;br /&gt;
&lt;br /&gt;
	// Reset whitespace that was set in the peer CSS gadget; this prevents the&lt;br /&gt;
	// effect of the p-personal menu jumping to the left when the JavaScript&lt;br /&gt;
	// loads.&lt;br /&gt;
	$( '.client-js &amp;gt; body.skin-vector #p-personal ul' ).css( 'margin-right', 'initial' );&lt;br /&gt;
	$( '.client-js &amp;gt; body.skin-monobook #p-personal ul' ).css( 'margin-right', 'initial' );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	// We are experimenting with different locations for this in Vector 2022 based on feedback&lt;br /&gt;
	// so currently this is limited to MediaWiki.org&lt;br /&gt;
	var dbName = mw.config.get( 'wgDBname' );&lt;br /&gt;
	var showOutsideDropdown = dbName === 'mediawikiwiki' || dbName === 'enwiki';&lt;br /&gt;
	var clockLocation = document.getElementById( 'p-vector-user-menu-overflow' ) &amp;amp;&amp;amp; showOutsideDropdown ?&lt;br /&gt;
		'p-vector-user-menu-overflow' : 'p-personal';&lt;br /&gt;
	addLiveClockInstance( clockLocation );&lt;br /&gt;
	addLiveClockInstance( 'p-personal-sticky-header' );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function addLiveClockInstance( clockLocation ) {&lt;br /&gt;
	// Add the portlet link.&lt;br /&gt;
	var node = mw.util.addPortletLink(&lt;br /&gt;
		clockLocation,&lt;br /&gt;
		mw.util.getUrl( null, { action: 'purge' } ),&lt;br /&gt;
		'',&lt;br /&gt;
		'utcdate'&lt;br /&gt;
	);&lt;br /&gt;
	if ( !node ) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Purge the page when the clock is clicked. We have to do this through the&lt;br /&gt;
	// API, as purge URLs now make people click through a confirmation screen.&lt;br /&gt;
	$( node ).on( 'click', function ( e ) {&lt;br /&gt;
		new mw.Api().post( { action: 'purge', titles: mw.config.get( 'wgPageName' ) } ).then( function () {&lt;br /&gt;
			location.reload();&lt;br /&gt;
		}, function () {&lt;br /&gt;
			mw.notify( 'Purge failed', { type: 'error' } );&lt;br /&gt;
		} );&lt;br /&gt;
		e.preventDefault();&lt;br /&gt;
	} );&lt;br /&gt;
&lt;br /&gt;
	// Show the clock.&lt;br /&gt;
	showTime( $( node ).find( 'a' ).first() );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$( liveClock );&lt;br /&gt;
} );&lt;/div&gt;</summary>
		<author><name>Tbpedia&gt;Pppery</name></author>
	</entry>
</feed>