New Userscript

try to take over the world!

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  try to take over the world!
// @author       You
// @match        http://ehallapp.nju.edu.cn/qljfwapp/sys/lwAppointmentBathroom/*default/index.do
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    var unit = 20 * 60 * 1000
    var startText = '开始时间: '
    var endText = '结束时间: '

    var format = (number) => {
        if (number < 10) return '0' + number
        return number
    }

    var refresh = () => {

        var now = new Date()
        var index = now.getTime() / unit
        var date = `${now.getFullYear()}-${now.getMonth() + 1}-${now.getDate()} `
        var start = new Date(Math.floor(index) * unit)
        var end = new Date(Math.ceil(index) * unit)
        var startTime = `${format(start.getHours())}:${format(start.getMinutes())}:${format(start.getSeconds())}`
        var endTime = `${format(end.getHours())}:${format(end.getMinutes())}:${format(end.getSeconds())}`
        var labels = document.querySelectorAll('label')
        var length = labels.length
        for (var i = 0; i < length; i++) {
            var label = labels[i]
            var text = label.innerText
            if (text.startsWith(startText)) label.innerText = startText + startTime
            if (text.startsWith(endText)) label.innerText = endText + endTime
        }

        var items = document.querySelectorAll('.lib-listdet-items')[0]
        if (items) {
            items.children[4].children[2].innerText = date + startTime
            items.children[5].children[2].innerText = date + endTime
        }

    }

    setInterval(refresh, 1000)
})();