当前位置:网站首页>【js组件】date日期显示。
【js组件】date日期显示。
2022-07-06 23:26:00 【KatyLight】
日期组件,会随着时间变化。实现代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body{
background-color: black;
color: white;
}
.KatyLightTimeBox{
color: #00ff95;
font-size: 2rem;
font-weight: bolder;
}
.KatyLightTimeBox>.time{
margin-left: 1rem;
}
</style>
<script>
class KatyLightTimeBox{
constructor(params) {
this.target=params.target;
let date=new Date();
let year=date.getFullYear();
let mouth=date.getMonth()+1;
let d=date.getDate();
let h=date.getHours();
let m=date.getMinutes();
let s=date.getSeconds();
this.timeSpan=this.target.querySelector('.time')
this.dateSpan=this.target.querySelector('.date')
this.data=[
year,mouth,d,h,m,s
]
this.dateSpan.innerText=this.dateFormat();
this.run()
}
run(){
setInterval(()=>{
let cc=false;
this.data[5]++;
if(this.data[5]>=60){
this.data[5]=0;
this.data[4]++
}
if(this.data[4]>=60){
this.data[4]=0;
this.data[3]++
}
if(this.data[3]>=24){
this.data[3]=0;
this.data[2]++
cc=true;
}
this.timeSpan.innerText=this.timeFormat();
if(!cc){
return;
}
let max=30;
if(this.data[1]<8){
if(this.data[1]%2===0){
if(this.data[1]===2){
if(this.data[0]%400===0||(this.data[0]%4===0&&this.data[0]%100!==0)){
max=29
}else{
max=28
}
}else{
max=30
}
}else{
max=31
}
}else{
if(this.data[1]%2===0){
max=31
}else{
max=30
}
}
if(this.data[2]>max){
this.data[2]=0;
this.data[1]++;
}
if(this.data[1]>12){
this.data[1]=1;
this.data[0]++;
}
this.dateSpan.innerText=this.dateFormat();
},1000)
}
dateFormat(){
let s=this.data[0].toString();
let m=this.data[1].toString();
if(m.length<2){
m="0"+m;
}
let h=this.data[2].toString();
if(h.length<2){
h="0"+h;
}
return h+"."+m+"."+s
}
timeFormat(){
let s=this.data[5].toString();
if(s.length<2){
s="0"+s;
}
let m=this.data[4].toString();
if(m.length<2){
m="0"+m;
}
let h=this.data[3].toString();
if(h.length<2){
h="0"+h;
}
return h+":"+m+":"+s
}
}
window.onload=()=>{
new KatyLightTimeBox({
target:document.querySelector('.KatyLightTimeBox')
})
}
</script>
</head>
<body>
<div class="KatyLightTimeBox"><span class="date">2012.12.21</span><span class="time">12:00:00</span></div>
</body>
</html>
边栏推荐
- The execution order of return in JS' try catch finally
- Leetcode longest public prefix
- Leetcode minimum difference in student scores
- NPDP产品经理认证,到底是何方神圣?
- 《五》表格
- How does redis implement multiple zones?
- If you‘re running pod install manually, make sure flutter pub get is executed first.
- Auto.js 获取手机所有app名字
- Scheduledexecutorservice timer
- 漏电继电器JOLX-GS62零序孔径Φ100
猜你喜欢
随机推荐
[opencv] image morphological operation opencv marks the positions of different connected domains
Longest non descent subsequence (LIS) (dynamic programming)
记录一次压测经验总结
The sooner you understand the four rules of life, the more blessed you will be
Window scheduled tasks
pytest测试框架——数据驱动
Why JSON is used for calls between interfaces, how fastjson is assigned, fastjson 1.2 [email protected] Mapping relatio
Auto. JS get all app names of mobile phones
torch optimizer小解析
As we media, what websites are there to download video clips for free?
Longest palindrome substring (dynamic programming)
Error: No named parameter with the name ‘foregroundColor‘
DJ-ZBS2漏电继电器
vector和类拷贝构造函数
How does redis implement multiple zones?
Simulate thread communication
Full link voltage test: the dispute between shadow database and shadow table
腾讯云数据库公有云市场稳居TOP 2!
3. Type of fund
想要选择一些部门优先使用 OKR, 应该如何选择试点部门?