function SolarTerm(DateGL) {
var SolarTermStr = new Array(
"小寒", "大寒", "立春", "雨水", "惊蛰", "春分",
"清明", "谷雨", "立夏", "小满", "芒种", "夏至",
"小暑", "大暑", "立秋", "处暑", "白露", "秋分",
"寒露", "霜降", "立冬", "小雪", "大雪", "冬至");
var DifferenceInMonth = new Array(
1272060, 1275495, 1281180, 1289445, 1299225, 1310355,
1321560, 1333035, 1342770, 1350855, 1356420, 1359045,
1358580, 1355055, 1348695, 1340040, 1329630, 1318455,
1306935, 1297380, 1286865, 1277730, 1274550, 1271556);
var DifferenceInYear = 31556926;
var BeginTime = new Date(1901 / 1 / 1);
BeginTime.setTime(947120460000);
for (; DateGL.getFullYear() < BeginTime.getFullYear();) {
BeginTime.setTime(BeginTime.getTime() - DifferenceInYear * 1000);
}
for (; DateGL.getFullYear() > BeginTime.getFullYear();) {
BeginTime.setTime(BeginTime.getTime() + DifferenceInYear * 1000);
}
for (var M = 0; DateGL.getMonth() > BeginTime.getMonth(); M++) {
BeginTime.setTime(BeginTime.getTime() + DifferenceInMonth[M] * 1000);
}
if (DateGL.getDate() > BeginTime.getDate()) {
BeginTime.setTime(BeginTime.getTime() + DifferenceInMonth[M] * 1000);
M++;
}
if (DateGL.getDate() > BeginTime.getDate()) {
BeginTime.setTime(BeginTime.getTime() + DifferenceInMonth[M] * 1000);
M == 23 ? M = 0 : M++;
}
if (DateGL.getDate() == BeginTime.getDate()) {
JQ = "今天" + SolarTermStr[M];
}
else if (DateGL.getDate() == BeginTime.getDate() - 1) {
JQ = "明天" + SolarTermStr[M];
}
else if (DateGL.getDate() == BeginTime.getDate() - 2) {
JQ = "后天" + SolarTermStr[M];
}
else {
if (DateGL.getMonth() == BeginTime.getMonth()) {
JQ = "本月";
}
else {
JQ = "下月";
}
JQ += BeginTime.getDate() + "日" + SolarTermStr[M];
}
return JQ;
}
let date = new Date("Fri Mar 19 2019");
console.log(SolarTerm(date));
输入日期,判断时节还有多久
最新推荐文章于 2025-05-09 16:13:17 发布
本文介绍了一个用于查询二十四节气的JavaScript算法,该算法通过计算日期与基准年份的差异来确定当前日期所对应的节气,并能准确指出今天、明天或后天的节气名称。
1736

被折叠的 条评论
为什么被折叠?



