hinatazaka46-dateutil

Hinatazak46 dateeutil

Version vom 30.05.2025. Aktuellste Version

Dieses Skript sollte nicht direkt installiert werden. Es handelt sich hier um eine Bibliothek für andere Skripte, welche über folgenden Befehl in den Metadaten eines Skriptes eingebunden wird // @require https://update.greasyfork.ip-ddns.com/scripts/537734/1598413/hinatazaka46-dateutil.js

// ==UserScript==
// @name        hinatazaka46-dateutil
// @namespace   https://greasyfork.runtimutd.eu.org/ja/users/1328592-naoqv
// @description  Hinatazak46 dateeutil
// @description:ja  日向坂46 日付ユーティリティライブラリ
// @version     0.01
// @icon        https://cdn.hinatazaka46.com/files/14/hinata/img/favicons/favicon-32x32.png
// @compatible  chrome
// @compatible  firefox
// @grant       none
// @license     MIT
// ==/UserScript==

/*
 * 年表示を短縮表記に変更 yyyy → 'yy
 * @param {string} yearSelector - 年表示要素セレクタ
 */
const shortenYear = (yearSelector) => {
  Array.prototype.forEach.call(document.querySelectorAll(yearSelector), (x) => {
    const text = x.innerText;
    x.innerText = "'" + text.replace(/\d{2}(\d{2}\.)/, '$1');
  });
};

/*
 * 誕生日日付に該当する星座を返す
 * @param {date} date - 誕生日
 */
const getZodiacSign = (date) => {
  const month = date.getMonth() + 1;
  const day = date.getDate();

  if ((month === 1 && day >= 20) || (month === 2 && day <= 18)) return "Aquarius";
  if ((month === 2 && day >= 19) || (month === 3 && day <= 20)) return "Pisces";
  if ((month === 3 && day >= 21) || (month === 4 && day <= 19)) return "Aries";
  if ((month === 4 && day >= 20) || (month === 5 && day <= 20)) return "Taurus";
  if ((month === 5 && day >= 21) || (month === 6 && day <= 20)) return "Gemini";
  if ((month === 6 && day >= 21) || (month === 7 && day <= 22)) return "Cancer";
  if ((month === 7 && day >= 23) || (month === 8 && day <= 22)) return "Leo";
  if ((month === 8 && day >= 23) || (month === 9 && day <= 22)) return "Virgo";
  if ((month === 9 && day >= 23) || (month === 10 && day <= 22)) return "Libra";
  if ((month === 10 && day >= 23) || (month === 11 && day <= 21)) return "Scorpio";
  if ((month === 11 && day >= 22) || (month === 12 && day <= 21)) return "Sagittarius";
  return "Capricorn"; // (12/22〜1/19)
};