核心代碼
給定日期是星期幾,應把字符串轉為Date:
new.Date('2017-12-30').getDay();
// 返回0,表示星期天,1:星期一……
案例:
需求:

調用此方法
function zxt(){ $.ajax({ url:'./php/index.php', data:{type:'zhexiantu'}, type:'post', dataType:'json', success:function(data){ var arr = eval(data); zhexiantu(arr); } }); }
引用echarts圖表
/*通過引用echarts的js文件調用此方法*/ function zhexiantu(brr){ var h2_r = echarts.init(document.getElementById('h2_r')); var n1=[]; var s1=[]; /*遍歷重組星期*/ for(var i in brr){ n1.push(brr[i][0]); // console.log(n1); } var n1_1 = []; /*把日期格式轉化為星期*/ for(var i in n1){ var array= new Array(); var date = new Date(n1[i]); var day = date.getDay(); day = day == 0 ? day = 7:day; var dayArr = {1:'一',2:'二',3:'三',4:'四',5:'五',6:'六',7:'日'}; n1_1.push("星期"+dayArr[day]); //向后追加的方法push } /*遍歷重組數量*/ for(var i in brr){ s1.push(brr[i][1]); } var option4 = { /*這是標題欄*/ title: { text: '一周內的定位請求數量', //標題字體 textStyle:{ fontSize:13, fontWeight:700 }, //標題位置 x:'20px', y:'10px' }, xAxis: { type: 'category', boundaryGap: false, // data: ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'] //需要這種格式 data:n1_1 }, yAxis: { type: 'value' }, itemStyle:{color:'#F9CDA9',}, series: [{ // data: [82,32,90,34,90,30,20], data:s1, type: 'line', areaStyle: {} }] }; h2_r.setOption(option4); }
后台代碼:
sql語句查詢最近七天每一天的請求數量
case 'zhexiantu': $sql = "SELECT sq_time,count(*) as num FROM lsq_event where DATE_SUB(CURDATE(), INTERVAL 7 DAY) < date(sq_time) group by sq_time;"; $res = $db->query($sql); $attr = $res->fetch_all(); echo json_encode($attr); break;