从后端获取时间,然后每隔一秒自动动态显示
urls.py:
from django.contrib import admin
from django.urls import path
from . import dynamic_time
from django.conf.urls import url
urlpatterns = [
path('admin/', admin.site.urls),
url(r'^dynamic_time/$', dynamic_time.get_time),
]
dynamic_time.py:
from django.http import HttpResponse
from django.shortcuts import render
import datetime
# 接收请求数据
def get_time(request):
# 获得当前时间
now = datetime.datetime.now()
# 转换为指定的格式:
otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S")
# render用来加载html文件,{}里面是要传给模板的的变量
return render(request, "dynamic_time.html", {"year": now.year,"month":now.month,"day":now.day,"hour":now.hour,"min":now.minute,"sec":now.second})
dynamic_time.html:
<!DOCTYPE html>
<html>
<body>
<div id ="showTimeZone"></div>
<a><i class="lnr lnr-clock"></i> <span id="navbar_time"> </span></a>
<script type="text/javascript">
var nowTime = new Date();
var timeZone = (0 - new Date().getTimezoneOffset() / 60);
var showTimeZone = "timezone: UTC_" + timeZone;;
document.getElementById("showTimeZone").innerText = showTimeZone;
yy={{year}};
mo={{month}};
dd={{day}};
hh={{hour}} + timeZone;
mm={{min}};
ss={{sec}};
function fix(num, length) {
return ('' + num).length < length ? ((new Array(length + 1)).join('0') + num).slice(-length) : '' + num;
}
setInterval(function(){
document.getElementById("navbar_time").innerText = "time: "+yy+"/"+fix(mo,2)+"/"+fix(dd,2)+"/"+
" "+fix(hh,2)+":"+fix(mm,2)+":"+fix(ss,2);
ss++;
if(ss == 60){
ss=0;
mm++;
if(mm == 60){
mm=0;
hh++;
if(hh == 24){
hh == 0;
}
}
}
},1000);
</script>
</body>
</html>
代码只供学习使用,实际使用会有问题,日期进入下一天不会显示,也会有误差