2015-05-26 4 views
1

Как написать последние 7 дней, кроме выходных.Как написать последние 7 дней, кроме выходных дней до дней

for (var i = -7;i == 0 ;i++) 
    { DateTime date = new DateTime(); 
    var Days = date.AddDays(i).ToString(); 
    } 

для этого кода, как я могу передать выходные и этот код приходит с 7-го дня сегодня, мне нужно прямо противоположное.

Если возможно, то, возможно, был бы важен день = [25.05.2015, 22.05.2015, 21.05.2015, , '15 .05.2015' ].

Я буду использовать эту таблицу для записи книги. enter image description here

function drawVisitorsChart() { 


         var data = new google.visualization.DataTable(); 
         var raw_data = [['Book', 50, 73, 104, 129, 146, 176, 139], 
             ['Periodical', 82, 77, 98, 94, 105, 81, 104], 
             ['Map', 50, 39, 39, 41, 47, 49, 150]]; 

         var Days= ['x', 'x', 'x', 'x', 'x', 'x', 'x']; 

         data.addColumn('string', 'Month'); 
         for (var i = 0; i < raw_data.length; ++i) { 
          data.addColumn('number', raw_data[i][0]); 
         } 

         data.addRows(Days.length); 

         for (var j = 0; j < Days.length; ++j) { 
          data.setValue(j, 0, months[j]); 
         } 
         for (var i = 0; i < raw_data.length; ++i) { 
          for (var j = 1; j < raw_data[i].length; ++j) { 
           data.setValue(j - 1, i + 1, raw_data[i][j]); 
          } 
         } 


         var div = $('#daily_div'); 
         new google.visualization.ColumnChart(div.get(0)).draw(data, { 
          title: 'Daily Record', 
          width: div.width(), 
          height: 330, 
          legend: 'right', 
          yAxis: { title: '(thousands)' } 
         }); 
+0

То есть Java- – xanatos

+0

Где проблема в LINQ некоторых данных JSON и разбор в функции JS? Пожалуйста, измените свой вопрос и будьте понятны о своей проблеме. –

ответ

0

Screenshot

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace SkipWeekends 
{ 
    class Program 
    { 
     static List<DateTime> GetBusinessDays(DateTime startDate, int numDays) 
     { 
      var dates = new List<DateTime>(); 

      var step = (numDays < 0) ? -1 : 1; 
      var date = startDate; 
      var absNumDays = Math.Abs(numDays); 

      while(dates.Count() < absNumDays) 
      { 
       date = date.AddDays(step); 

       if (date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday) 
        continue; 

       dates.Add(date); 
      } 

      return dates; 
     } 

     static void Main(string[] args) 
     { 
      var dates = new List<DateTime>(); 
      var start = DateTime.Now; 

      dates = GetBusinessDays(start, 14); 

      Console.WriteLine("14 Business Days in the Future:\n"); 

      foreach(var date in dates) 
      { 
       Console.WriteLine(date.ToString()); 
      } 

      dates = GetBusinessDays(start, -14); 

      Console.WriteLine("\n\n14 Business Days in the Past:\n"); 

      foreach (var date in dates) 
      { 
       Console.WriteLine(date.ToString()); 
      } 

     } 
    } 
} 
1

Использование AddBusinessDays:

for (var i = -7;i == 0 ;i++) 
{ 
    DateTime date = new DateTime(); 
    var Days = date.AddBusinessDays(i).ToString(); 
} 

с:

public static class DateTimeExtensions 
{ 
    public static DateTime AddBusinessDays(this DateTime date, int days) 
    { 
     double sign = Convert.ToDouble(Math.Sign(days)); 
     int unsignedDays = Math.Sign(days) * days; 
     for (int i = 0; i < unsignedDays; i++) 
     { 
      do 
      { 
       date = date.AddDays(sign); 
      } 
      while (date.DayOfWeek == DayOfWeek.Saturday || 
       date.DayOfWeek == DayOfWeek.Sunday); 
     } 
     return date; 
     } 
} 

Подробнее here.

EDIT: дубликат Adding Days to a Date but Excluding Weekends.

Смежные вопросы