-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsetTime.js
124 lines (113 loc) · 3.84 KB
/
setTime.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
//显示日期
var D = new Date();
var yy = D.getFullYear();
var mm = D.getMonth() + 1;
var dd = D.getDate();
var ww = D.getDay();
var ss = parseInt(D.getTime() / 1000);
document.querySelector(".time p").innerHTML = yy + "年" + mm + "月" + dd + "日 " + calendar.getLunartoDay();
//时间
function getDate() {
var timezone = 8;
var offset_GMT = new Date().getTimezoneOffset();
var nowDate = new Date().getTime();
var today = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000);
var time = twoDigits(today.getHours()) + ":" + twoDigits(today.getMinutes()) + ":" + twoDigits(today.getSeconds());
document.querySelector(".time h1").innerHTML = time;
if (new Date().getDate() != new Date(document.querySelector(".date .d").innerHTML).getDate()) {
setCalendar();
}
}
function twoDigits(val) {
if (val < 10) return "0" + val;
return val;
}
//显示日历
function getYMD(date) {
var D = date;
var yy = D.getFullYear();
var mm = D.getMonth() + 1;
var dd = D.getDate();
return yy + "-" + mm + "-" + dd;
}
//时间加一天
function addDate(date, days) {
if (days === undefined || days === '') {
days = 1;
}
var date = new Date(date);
date.setDate(date.getDate() + days);
var month = date.getMonth() + 1;
var day = date.getDate();
return date.getFullYear() + '-' + getFormatDate(month) + '-' + getFormatDate(day);
}
//时间减一天
function cutDate(date, days) {
if (days === undefined || days === '') {
days = 1;
}
var date = new Date(date);
date.setDate(date.getDate() - days);
var month = date.getMonth() + 1;
var day = date.getDate();
return date.getFullYear() + '-' + getFormatDate(month) + '-' + getFormatDate(day);
}
function getFormatDate(arg) {
if (arg == undefined || arg == '') {
return '';
}
var re = arg + '';
if (re.length < 2) {
re = '0' + re;
}
return re;
}
function setCalendar(D, num) {
//设置日历
//计算当前日期
if (typeof(D) == "string") {
D = new Date(D);
} else if (!D) {
D = new Date();
}
var yy = D.getFullYear();
var mm = D.getMonth() + 1;
var dd = D.getDate();
document.querySelector(".date .d").innerHTML = yy + "-" + getFormatDate(mm) + "-" + getFormatDate(dd);
//计算当前日期所在月份的1号
D = new Date(yy + "-" + mm + "-" + 1);
yy = D.getFullYear();
mm = D.getMonth() + 1;
dd = D.getDate();
week = D.getDay(); //本月一号是星期几
if (week == 0) { //当为周日时,将其置为7
week = 7;
}
//计算日历中第一天的日期
var firstDay = cutDate(yy + "-" + mm + "-" + dd, week - 1);
//获取日期格
var dateBox = document.querySelectorAll("td");
for (let index = 0; index < dateBox.length; index++) {
let dayArr = firstDay.split("-");
let son = dateBox[index].children;
if (dayArr[1] == mm) {
if (getYMD(new Date(firstDay)) == getYMD(new Date())) {
dateBox[index].classList = "light_hover active click";
document.querySelector(".date2 .d2").innerHTML = "今天 " + calendar.getLunartoDay();
} else {
dateBox[index].classList = "light_hover";
}
son[0].innerHTML = dayArr[2];
var lunarDay = calendar.parseDate(firstDay);
son[1].innerHTML = lunarDay.Term ? lunarDay.Term : lunarDay.IDayCn;
} else {
dateBox[index].classList = "light_hover disable";
let son = dateBox[index].children;
son[0].innerHTML = dayArr[2];
var lunarDay = calendar.parseDate(firstDay);
son[1].innerHTML = lunarDay.Term ? lunarDay.Term : lunarDay.IDayCn;
}
dateBox[index].setAttribute("data-date", firstDay);
firstDay = addDate(firstDay);
}
}