* {
margin: 0;
padding: 0;
}
li {
list-style: none;
float: left;
width: 30px;
height: 30px;
text-align: center;
line-height: 30px;
}
#date {
width: 406px;
margin: 0 auto;
overflow: hidden;
padding: 25px 30px;
background: #555450;
}
.time1 {
height: 64px;
font: 43px/64px "微软雅黑";
color: #fff;
}
.time2 {
height: 38px;
font: 18px/38px "微软雅黑";
color: #429ce3;
}
.time3 {
height: 53px;
color: #dddddc;
margin: 15px 0;
font: 25px/53px "微软雅黑";
}
.time3 strong {
float: left;
font-weight: normal;
}
.time3 div {
float: right;
}
.time3 div span {
font-size: 45px;
cursor: pointer;
margin: 0 10px 0 10px;
}
#date ul {
font-size: 0;
}
.number {
font-size: 0;
}
#date ul li,
.number span {
width: 58px;
height: 51px;
font: 22px/51px "微软雅黑";
color: #fff;
text-align: center;
display: inline-block;
}
.number span.color {
color: #8d8c89;
}
.number span.active {
background: #0078d7;
}
<div id="date">
<div class="time1">17:26:07</div>
<div class="time2">2019年9月8日,星期四</div>
<div class="time3">
<strong>2019年9月</strong>
<div><span>∧</span><span>∨</span></div>
</div>
<ul>
<li>一</li>
<li>二</li>
<li>三</li>
<li>四</li>
<li>五</li>
<li>六</li>
<li>日</li>
</ul>
<div class="number">
<span class="color">1</span>
<span class="color">2</span>
<span class="color">3</span>
<span>4</span>
<span>5</span>
<span class="active">6</span>
<span>7</span>
<span>8</span>
<span>9</span>
<span>10</span>
<span>11</span>
<span>12</span>
<span>13</span>
<span>14</span>
<span>15</span>
<span>16</span>
<span>17</span>
<span>18</span>
<span>19</span>
<span>20</span>
<span>21</span>
<span>22</span>
<span>23</span>
<span>24</span>
<span>25</span>
<span>26</span>
<span>27</span>
<span>28</span>
<span>29</span>
<span>30</span>
</div>
</div>
var time1 = document.querySelector('.time1'),
time2 = document.querySelector('.time2'),
number = document.querySelector('.number'),
btns = document.querySelectorAll('.time3 span'),
strong = document.querySelector('.time3 strong');
function time() {
var d = new Date();
time1.innerHTML = fromat(d.getHours()) + ':' + fromat(d.getMinutes()) + ':' + fromat(d.getSeconds());
}
time();
setInterval(time, 1000);
function fromat(v) {
return v < 10 ? '0' + v : v;
}
var d1 = new Date();
time2.innerHTML = d1.getFullYear() + '年' + (d1.getMonth() + 1) + '月' + d1.getDate() + '日,星期' + formatWeek(d1.getDay());
function formatWeek(v) {
return ['日', '一', '二', '三', '四', '五', '六'][v];
}
function getEndDay(year, month) {
return new Date(year, month, 0).getDate();
}
function getFirstWeek(year, month) {
return new Date(year, month - 1, 1).getDay();
}
function setDate(d) {
var lastEndDay = getEndDay(d.getFullYear(), d.getMonth());
var curEndDay = getEndDay(d.getFullYear(), d.getMonth() + 1);
var week = getFirstWeek(d.getFullYear(), d.getMonth() + 1);
var curDay=1;
var str='';
var endNum=week-1;
if(endNum==0){
endNum=7;
}
if(endNum<0){
endNum=6;
}
for(var i=0;i<42;i++){
if(i<endNum){
str='<span class="color">'+(lastEndDay--)+'</span>'+str;
}else if(i>=endNum+curEndDay){
str+='<span class="color">'+(curDay++)+'</span>';
}else{
var cl=new Date().getDate()==i-endNum+1?'active':''
if(d.getFullYear()!=new Date().getFullYear() || d.getMonth()!=new Date().getMonth()){
cl='';
}
str+='<span class="'+cl+'">'+(i-endNum+1)+'</span>';
}
}
number.innerHTML=str;
strong.innerHTML=d.getFullYear()+'年'+(d.getMonth()+1)+'月';
}
var d=new Date();
setDate(d);
btns[0].onclick=function(){
d.setMonth(d.getMonth()-1);
setDate(d);
};
btns[1].onclick=function(){
d.setMonth(d.getMonth()+1);
setDate(d);
};