MediaWikiのUTCLiveClock.jsで作業しており、PST/PDTに表示時間を設定するように設定しようとしています。私は問題を解決したと思ったが、UTCの真夜中(00:00:00)に時間が0-7:00:00に変更された。 UTC 00:00:00 - 07:00:00が発生すると、私の時間表示が混乱しないように正しく表示する必要があります。 mediawikiで使用しているガジェットはhttps://www.mediawiki.org/wiki/MediaWiki:Gadget-UTCLiveClock.jsMediawiki UTCLiveClockガジェットの設定
で見つけることができます。はい、私はnoobです。私は正式なプログラミングの知識を持っていません。私は、サーバーがPST/PDTに存在し、この問題に遭遇しているゲーム用のwikiを構築しようとしています。過去3時間のキーワード検索でグーグルが私をどこにも連れてこなかった。助けてください。
*/
/*global mw, $, UTCLiveClockConfig:true */
mw.loader.using(['mediawiki.util', 'mediawiki.api', 'mediawiki.notify']).then(function() {
var $target;
function showTime($target) {
var now = new Date();
var hh = now.getUTCHours();
var mm = now.getUTCMinutes();
var ss = now.getUTCSeconds();
var time = (hh < 10 ? '0' + hh : hh) + ':' + (mm < 10 ? '0' + mm : mm) + ':' + (ss < 10 ? '0' + ss : ss);
$target.text(time);
var ms = now.getUTCMilliseconds();
setTimeout(function() {
showTime($target);
}, 1100 - ms);
}
function liveClock() {
mw.util.addCSS('#utcdate a { font-weight:bolder; font-size:120%; }');
if (!window.UTCLiveClockConfig) {
UTCLiveClockConfig = {};
}
var portletId = UTCLiveClockConfig.portletId || 'p-personal';
var nextNode = UTCLiveClockConfig.nextNodeId ? document.getElementById(UTCLiveClockConfig.nextNodeId) : undefined;
var node = mw.util.addPortletLink(
portletId,
mw.util.getUrl(null, { action: 'purge' }),
'',
'utcdate',
null,
null,
nextNode
);
if (!node) {
return;
}
$(node).on('click', function (e) {
new mw.Api().post({ action: 'purge', titles: mw.config.get('wgPageName') }).then(function() {
location.reload();
}, function() {
mw.notify('Purge failed', { type: 'error' });
});
e.preventDefault();
});
showTime($(node).find('a:first'));
}
$(liveClock);
});
編集:
私はもともと問題が入れてある固定方法-7時間のセクションで:
var hh = now.getUTCHours()-7;
この「ガジェット」には、より良いリンクが必要です。あなたはどこからそれを手に入れますか? – Michas
Mediawikiから直接 https://www.mediawiki.org/wiki/Extension:Gadgets 私の問題は、.jsを編集して別のタイムゾーンに適した方法についてのチュートリアルは全くありません。私は何も見つけることができません。 –