关于DJANGO和JAVASCRIPT的时间

最近,实际一些简单统计时,要到库里去检索数据出来用HIGHCHARTS画图,

作一个简单的回照。。

 

DJANGO用TEMPLATEVIEW来作。专业,正规:)

class SAView(TemplateView):
    template_name = 'version/sa_site.html'
    paginate_by = 10

    def get_context_data(self, **kwargs):
        context = super(SAView, self).get_context_data(**kwargs)
        site_dict = {}
        appcount = A.objects.annotate(num_app=Count('dv'))
        for app in appcount:
            if self.request.GET.has_key('date_start') and self.request.GET.has_key('date_end') :
                date_start = self.request.GET['date_start']
                date_end = self.request.GET['date_end']
                context['days'] = date_start+'至'+date_end
                app_qryset = app.deployversion_set.filter(add_date__range=(date_start, date_end))
            else:
                context['days'] = '所有时间'
                app_qryset = app.deployversion_set.all()

            if app.site_set.all() and app_qryset.count():
                    site_key = str(app.site_set.all()[0].name)
                    if site_dict.has_key(site_key):
                        site_dict[site_key] += app_qryset.count()
                    else:
                        site_dict[site_key] = app_qryset.count()

        categories = site_dict.keys()
        data = site_dict.values()
        context['now'] = timezone.now()
        context['current_page'] = "list-sa-site"
        context['form'] = SASiteForm
        context['categories'] = categories
        context['data'] = data

        return context

前端JAVASCRIPT的小东东,找伟哥作了那个最近一周和一月的东东,很好:)感谢:

Date.prototype.Format = function(fmt)
{
    var o = {
        "M+" : this.getMonth()+1,
        "d+" : this.getDate(),
        "h+" : this.getHours(),
        "m+" : this.getMinutes(),
        "s+" : this.getSeconds(),
        "q+" : Math.floor((this.getMonth()+3)/3),
        "S"  : this.getMilliseconds()
    };
    if(/(y+)/.test(fmt)){
        fmt = fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
    }
    for(var k in o){
        if(new RegExp("("+ k +")").test(fmt)){
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
        }
    }
    return fmt;
}

$(".search_btn").click(function(){

        var date_start = $("input[name='date_start']").val() || "demo";
        var date_end = $("input[name='date_end']").val() || "demo";
        var date_today = new Date().Format("yyyy-MM-dd");
        console.log(date_today);
        if (date_start > date_end) {
            alert('开始时间大于结束时间,请重新选择');
            return;
           };
        if ((date_start >= date_today) || (date_end >= date_today)) {
            alert('开始时间和结束时间不能超过当前时间');
            return;
           };
        console.log(date_start, date_end);
        var url = "/sa/site/?date_start=" + date_start + "&date_end=" + date_end
        console.log(url)
        location.href = url
    });
$(".search_btn_week").click(function(){
        var current = new Date();
        var utcDate = current.setDate(current.getDate()-7);
        var date_start = new Date(utcDate).Format("yyyy-MM-dd");
        var date_end = new Date().Format("yyyy-MM-dd");
        console.log(date_start, date_end);
        var url = "/sa/site/?date_start=" + date_start + "&date_end=" + date_end
        console.log(url)
        location.href = url
    });
$(".search_btn_month").click(function(){
        var current = new Date();
        var utcDate = current.setDate(current.getDate()-30);
        var date_start = new Date(utcDate).Format("yyyy-MM-dd");
        var date_end = new Date().Format("yyyy-MM-dd");
        console.log(date_start, date_end);
        var url = "/sa/site/?date_start=" + date_start + "&date_end=" + date_end
        console.log(url)
        location.href = url
    });

Form结合了UIKIT的时间PICKER样式:

class SASiteForm(forms.Form):
        date_start = forms.CharField(
            max_length=100,
            label=u"开始日期",
            widget=forms.TextInput(
                attrs={
                    'class': 'uk-width-1-6',
                    'data-uk-datepicker': "{format:'YYYY-MM-DD'}",
                }
            ),
        )
        date_end = forms.CharField(
            max_length=100,
            label=u"结束日期",
            widget=forms.TextInput(
                attrs={
                    'class': 'uk-width-1-6',
                    'data-uk-datepicker': "{format:'YYYY-MM-DD'}",
                }
            ),
        )

AND THEN。。。

 

时间: 2024-09-20 14:22:55

关于DJANGO和JAVASCRIPT的时间的相关文章

使用javascript将时间转换成今天,昨天,前天等格式

  这篇文章主要介绍了使用javascript将时间转换成今天,昨天,前天等格式的相关资料,需要的朋友可以参考下 方法超级简单,把时间格式化一下就好了,直接奉上代码 ? 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 function transDate() { var $time =document.getElementById("share-time"); var date = $tim

javascript实现时间格式输出FormatDate函数_javascript技巧

本文实例讲述了javascript实现时间格式输出FormatDate函数.分享给大家供大家参考.具体如下: javascript没有提供像fmt标签一样对日期时间型内容格式输入的函数: 下面是我下的时间输出函数,使用时直接放到标签内,调用.代码如下 复制代码 代码如下: Date.prototype.Format = function(fmt) { //author: meizz         if (this == "Invalid Date") {          retur

javascript显示时间,现在时间已经显示出来了 就是不自动刷新 麻烦各位看一下 谢谢啦

问题描述 javascript显示时间,现在时间已经显示出来了 就是不自动刷新 麻烦各位看一下 谢谢啦 系统当前时间 <br> function mytime()<br> {<br> var now=new Date();//创建对象<br> var year=now.getFullYear();//获取年份<br> var month=now.getMonth()+1;//获取月份<br> var date=now.getDate(

JavaScript实现时间倒计时跳转(推荐)_javascript技巧

1. setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout(). <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.

javascript显示时间,现在时间已经显示出来了 就是不自动刷新 麻烦各位看一下 谢谢啦

问题描述 javascript显示时间,现在时间已经显示出来了 就是不自动刷新 麻烦各位看一下 谢谢啦 系统当前时间 <br> function mytime()<br> {<br> var now=new Date();//创建对象<br> var year=now.getFullYear();//获取年份<br> var month=now.getMonth()+1;//获取月份<br> var date=now.getDate(

使用javascript将时间转换成今天,昨天,前天等格式_javascript技巧

方法超级简单,把时间格式化一下就好了,直接奉上代码 function transDate() { var $time =document.getElementById("share-time"); var date = $time.innerHTML.trim(); var tt = new Date(parseInt(date)); var days = parseInt((new Date().getTime() - date) / 86400000); var today = n

JavaScript怎么获取服务器时间 JavaScript服务器时间获取方法

Javascript是运行在客户端的脚本,我们一般都用new Date()来获取当前时间,但是得到的是客户端的时间,客户端时间是随意更改的,如果要做一个产品发布倒计时的话,客户端时间一改,就要闹笑话了.业务中需要用到服务器时间的场景还有很多,那么仅仅通过js怎么拿到服务器时间呢?事实上,只需要一个ajax请求就搞定,通过读取XMLHttpRequest对象的响应头里面的时间戳得到当前服务器时间! 原理就是这么简单:通过ajax向服务器发送请求,当服务器收到请求后即可读取响应头的时间戳了,不管请求

详解JavaScript UTC时间转换方法_javascript技巧

一.前言 1.UTC: Universal Time Coordinated,协调世界时. 2.格林尼治标准时(GMT)     格林尼治标准时间(Greenwich Mean Time,GMT)是指位于伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线. 理论上来说,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时的时间.由于地球在它的椭圆轨道里的运动速度不均匀,这个时刻可能和实际的太阳时相差16分钟. 地球每天的自转是有些不规则的,而且正在缓慢减速.所以,格林尼

javascript 格式化时间日期函数代码脚本之家修正版_时间日期

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] javascript格式化日期时间函数_时间日期_http://www.jb51.net/article/14753.htm