Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
neytro30
1 / 1 / 0
Регистрация: 02.11.2017
Сообщений: 5
1

Как перечислить дни недели от указанной даты?

03.06.2018, 15:16. Просмотров 302. Ответов 2

Делаю так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
PanelResult.Visible = true;
            var lbl = new [] {
                          
            Label1, Label2,Label3, Label4,Label5,Label6,Label7,Label8,Label9,Label10,
            Label11,Label12,Label13,Label14,Label15,Label16,Label17,Label18,Label19,Label20,
            Label21, Label22,Label23,Label24,Label25,Label26,Label27, Label28,Label29,Label30,
            Label31
                          };
            var tbx = new [] { 
            TextBox1,TextBox2,TextBox3,TextBox4,TextBox5,TextBox6,TextBox7,TextBox8,TextBox9,TextBox10,
            TextBox11,TextBox12,TextBox13,TextBox14,TextBox15,TextBox16,TextBox17,TextBox18,TextBox19,TextBox20,                
            TextBox21,TextBox22,TextBox23,TextBox24,TextBox25,TextBox26,TextBox27,TextBox28,TextBox29,TextBox30,
            TextBox31    
                            };
 
            DayOfWeek[] d = { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday, DayOfWeek.Saturday, DayOfWeek.Sunday };
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  DateTime dtStart = Convert.ToDateTime(StartDay.Text);
                    //var myday = Culture.DateTimeFormat.GetDayName(dtStart.DayOfWeek);
                    DateTime dtEnd = Convert.ToDateTime(EndDay.Text);
                    var resultat = (dtEnd - dtStart).TotalDays;
                    //DateTime mmm =  Convert.ToDateTime(resultat);
                   
                    LabelINT.Text = (resultat + 1).ToString();
                    int start = (int)dtStart.DayOfWeek;
                   
                   
                        for (int i = 1; i <= resultat + 1; i++)
                        {
 
                                lbl[i].Text = d[i % 7].ToString();//;[i%7].ToString();// "," + resultat.ToString() + "";  
                                tbx[i].Text = string.Format("{0}:{1}", result.Hours, result.Minutes); 
 
                        }
по итогу выводит с понедельника, а надо от указанной даты(дня недели) Как указать DayOfWeek что начало перечисления от дня указанного в текстбоксе, например выбрана пятница, начинать с нее перечисление...те пятница, суббота, воскресенье, понедельник итд.
2. Этот код можно ли упростить?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2018, 15:16
Ответы с готовыми решениями:

Перечислить даты года, на которые в каждом месяце последний раз выпадет заданный день недели
Разработать программу для перечисления всех дат любого указанного или текущего года, на которые в...

Определить номер дня недели в году для указанной даты
Помогите создать классы: определить номер дня недели в году для указанной даты. Например, 8 февраля...

Как посчитать дни от даты начала до даты конца?
Я использую класс Datetime, и мне нужно посчитать за месяц сколько дней осталось до дня рождения...

Как определить дни недели в календаре?
Сделал так чтобы даты шли вниз =) , но дни недели не выводит как сделать чтобы например в пятницу...

Как построить по порядку дни недели?
В БД заданы Дни недели: Необходимо упорядочить их в dbgrid, чтобы начиналось с понедельника: ...

2
Woldemar89
TheGreatCornholio
1220 / 701 / 282
Регистрация: 30.07.2015
Сообщений: 2,380
Завершенные тесты: 1
03.06.2018, 15:54 2
C#
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
28
29
30
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            var date1 = "25.05.2018";
            var date2 = "03.06.2018";
 
            var dt1 = DateTime.Parse(date1);
            var dt2 = DateTime.Parse(date2);
 
            var days = Enumerable.Range(0, (dt2 - dt1).Days + 1).Select(i => dt1.AddDays(i).DayOfWeek);
 
            var daysAlt = new List<DayOfWeek>();
 
            for (var dt = dt1; dt <= dt2; dt = dt.AddDays(1))
                daysAlt.Add(dt.DayOfWeek);            
 
            Console.WriteLine(string.Join(", ", days));
            Console.WriteLine(string.Join(", ", daysAlt));
 
            Console.ReadKey(true);
        }
    }
}
1
neytro30
1 / 1 / 0
Регистрация: 02.11.2017
Сообщений: 5
03.06.2018, 17:53  [ТС] 3
Преогромнейшее Вам спасибо.
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2018, 17:53

Перечислить дни, на которые приходится пятница 13-го числа
компилятор усиленно ругается на vector есть и другие мелкие ошибки.. не могу...

Дни недели
Нужно решить через какую-то формулу

Дни недели
Пусть а – номер дня недели ( от 1 до 7) первого числа месяца. Найти номер дня недели к-ого числа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.