2016-10-14 24 views
1

現在の週の日付をx軸の折れ線グラフで表示する必要があります。PHP、JS、またはJqueryの現在の日付に関して先週の日付を取得したい

今日の日付から始まる1週間前の日付を取得する必要があります。 Ex。今日が7日であれば、1日から7日までの値の配列として日付を取得する必要があります。 私はPHPには新しく、わかりやすいソリューションがほしいと思っています。 これは、折れ線グラフを表示するには、私のjs ..です

$(function() { 
    $('#container1').highcharts({ 
     title: { 
      text: '', 
      x: -20 //center 
     }, 
     /*subtitle: { 
      text: 'Source: WorldClimate.com', 
      x: -20 
     },*/ 
     xAxis: { 
      categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 
       'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
     }, 
     yAxis: { 
      title: { 
       text: '' 
      }, 
      plotLines: [{ 
       value: 0, 
       width: 1, 
       color: '#808080' 
      }] 
     }, 
     tooltip: { 
      valueSuffix: '' 
     }, 
     legend: { 
      layout: 'vertical', 
      align: 'right', 
      verticalAlign: 'middle', 
      borderWidth: 0 
     }, 
     series: [{ 
      name: 'Total Requirements', 
      data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6] 
     },{ 
      name: 'Requirements with no Submissions', 
      data: [1.5, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0] 
     },{ 
      name: 'Requirements to which Profiles were Submitted', 
      data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8] 
     }] 
    }); 

私は日付の配列は、x軸上にそれらに代わりにデフォルト値のカテゴリにそれらを送信することができ、表示する必要があります。 私はこのことを試しましたが、それは私にいくつかの望ましくない価値を与えました。

<?php 
     $dt = new DateTime(); 
     $dates = []; 
     for ($d = 1; $d <= 6; $d++) { 
     $dt->setISODate($dt->format('o'), 
     $dt->format('W'), $d); 
     $dates[$dt->format('D')] = $dt->format('m-d-Y'); 
     $string=implode(",",$dates); 
     echo $string; 
    } 
    ?> 

今日の出力が週に関係なく7日の場合、出力は10/1 10/2 10/3 ... 10/7でなければなりません。

+0

あなたが持っているコードを表示することはできますかd – Shibon

+0

にPHPコードが追加されました。 –

答えて

0

あなたのニーズに応じてループを前後に動かすよりも、これを試してみてください。

P.S:あなたは異なるタイムゾーンでそれを管理しようとしている場合は、UTCはオフセットなど行う必要があり。あなたによって説明出力を1として

 $date=date_create(DATE("d-m-Y")); 

$array=[]; 
array_push($array, date_format($date,"m/j")); 
    for($i=7;$i>0;$i--) 
    { 
    date_sub($date,date_interval_create_from_date_string("1 days")); 
    array_push($array, date_format($date,"m/j")); 
    } 
    echo json_encode(array_reverse($array));// or you can do echo json_encode($array) to return json 

、あなたはとても

array_push($array, date_format($date,"m/j")); 

にコードを変更し、あなたが

["10\/7","10\/8","10\/9","10\/10","10\/11","10\/12","10\/13","10\/14"] 

次のような出力が得られます日付の書式を変更する必要があります現在の日付は10/14です

+0

ありがとうございましたが、私が得た日付形式は["10 \/07"、 "10 \/08"、 "10 \/09"、 "10 \/10"、 "10 \/11"、 "10 \/12 "、" 10 \/13 "、" 10 \/14 "]を選択します。 –

+0

と私のJSの私のカテゴリの配列にこれを渡すのですか? –

+0

あなたは** print_r **の代わりに** json_encode **を行うことによってjsonをする必要があります.jsonをハイスコアに渡すためにjavascriptまたはjqueryのajaxリクエストを得ることができます – Technacron

関連する問題