0 / 6 / 0
Регистрация: 16.11.2017
Сообщений: 36
1

Чтение из файла, вычисление возраста относительно сегодняшней даты

22.02.2018, 23:34. Показов 1951. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день , помогите пожалуйста . нужно считать из созданного мной файла после вывода всей информации только дату рождения , и по дате рождения найти возраст и также вывести его на консоль для всех Персон .
помогите пожалуйста наглядно на моём коде. Примеров в интернете много , но там всё без файла , с файлом никак не выходит . прикрепляю код + файл .Заранее спасибо .
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Globalization;
 
namespace LABA3
{
 
    abstract class Stud
    {
        protected string Surname; ////объявление строковой переменной с доступом внутри класса и в производных
        protected DateTime Birthday;
        protected string Facultet;
 
        public Stud(string Surname,DateTime Birthday, string Facultet) //конструктор абстрактного класса
        {
            this.Surname = Surname; //присваивание значений, переданных через конструктор, переменным класса
            this.Birthday = Birthday;
            this.Facultet = Facultet;
        }
       
        abstract public void Show();//абстрактный метод просмотра
       
        
    }
    class Abiturient : Stud
    {
        public Abiturient(string Surname, DateTime Birthday, string Facultet)
            : base(Surname, Birthday, Facultet)
        {
 
        }
 
        public override void Show()//абстрактный метод просмотра
        {
            Console.WriteLine("Абитуриент\nФамилия: {0},\nДата рождения {1:dd/MM/yyyy}, \nФакультет {2}", Surname, Birthday, Facultet);
        }
 
     
    }
    class Student:Stud
    {
        protected int Kurs; //добавляем переменную
        public Student(string Surname, DateTime Birthday, string Facultet,int Kurs)
            : base(Surname, Birthday, Facultet)
        {
            this.Kurs = Kurs;
        }
 
        public override void Show()//абстрактный метод просмотра
        {
            Console.WriteLine("Cтудент\nФамилия: {0},\nДата рождения {1:dd/MM/yyyy}, \nФакультет {2}, \nКурс {3} ", Surname, Birthday, Facultet,Kurs );
        }
 
    }
    class Prepod:Stud
    {
        protected string Doljnost;
        protected int Staj;
 
        public Prepod(string Surname, DateTime Birthday, string Facultet,string Doljnost, int Staj)
            : base(Surname, Birthday, Facultet)
        {
            this.Doljnost = Doljnost;
            this.Staj = Staj;
        }
        public override void Show()//абстрактный метод просмотра
        {
            Console.WriteLine("Препод\nФамилия: {0},\nДата рождения {1:dd/MM/yyyy}, \nФакультет {2}, \nДолжность {3}, \nСтаж {4} ", Surname, Birthday, Facultet, Doljnost ,Staj);
        }
 
    }
    class MetodLab3
    {
        public static Stud Choise(string[] a)
        {
            Stud K;
            if (int.Parse(a[0]) == 1)               // абітуріент
            {
                K = new Abiturient(a[1], DateTime.Parse(a[2]), (a[3]));
                return K;
 
            }
            if (int.Parse(a[0]) == 2)               // студент
            {
                K = new Student(a[1], DateTime.Parse(a[2]), (a[3]), int.Parse(a[4]));
                return K;
            }
            if (int.Parse(a[0]) == 3)               // Препод
            {
                K = new Prepod(a[1], DateTime.Parse(a[2]), a[3], a[4], int.Parse(a[5]));
                return K;
            }
            else return null;
        }
 
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.UTF8;
            StreamReader fileIn = new StreamReader("D:/2.txt", Encoding.GetEncoding(1251));
            string str;
            int count = System.IO.File.ReadAllLines("D:/2.txt").Length;
            Stud[] obj = new Stud[count];
           // Console.WriteLine("{0}", count);
            int i = 0;
            while ((str = fileIn.ReadLine()) != null)
            {
                string[] s1 = str.Split('|');
                obj[i] = MetodLab3.Choise(s1);
                obj[i].Show();
                i++;
 
            }
            i = 0;
            fileIn.Close();
        }
    }
}
Вложения
Тип файла: txt 2.txt (191 байт, 15 просмотров)
1
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2018, 23:34
Ответы с готовыми решениями:

Соотношение сегодняшней Даты и записей даты в базе данных
Столкнулся с проблемой, делаю программу с WinForms, там DataGrid в гриде база, в базе есть столбцы...

Найти дату, если известно, сколько дней должно пройти от сегодняшней даты до искомой даты
Здравствуйте, дали задание, чтобы найти дату, через какое-то количество дней, которое я введу в...

Найти дату, если известно, сколько дней должно пройти от сегодняшней даты до искомой даты
Здравствуйте, не могу решить задачку следующего вида: 1. Разработать подпрограмму, определяющую...

Вычисление возраста сотрудника и расчёт среднего возраста
Народ ПОМОГИТЕ пожалуйста!!! В Access не силён (на уровне пользователя). Имеется база данных с...

8
134 / 129 / 59
Регистрация: 16.06.2013
Сообщений: 523
25.02.2018, 22:36 2
Охохо... Ну и накосопорили вы, уважаемый студент =).
1) Не совсем понятно, к чему объявлять класс "MetodLab3", с одним единственным статическим методом, если этот же метод можно было спокойно разместить в классе "Program";
2) Лишние, а порой и до абсурдности действия. В методе "Choise" вы три раза подряд парсите одну и ту же строку в число, хотя логично было сделать:
C#
1
int type = int.Parse(a[0]);
И, уже переменную "type" сравнивать дальше. Затем, в методе "Main", вы начинаете считывать файл через StreamReader, затем считываете его построчно, лишь для того, чтобы узнать количество строк, и, узнав количество (и проигнорировав то, что файл УЖЕ был считан), начинаете читать его через вышеупомянутый StreamReader. Более того, полученное число строк, вы используете только для того, чтобы инициализировать массив выходных объектов! Не стоит ли всё-таки сделать так?
C#
1
2
3
4
5
6
7
8
string[] lines = System.IO.File.ReadAllLines("D:/2.txt");
Stud[] obj = new Stud[lines.Length];
for(int i = 0; i < lines.Length; i++)
{
     string[] s1 = lines[i].Split('|');
     obj[i] = MetodLab3.Choise(s1);
     obj[i].Show();
}
3) if-ы, в методе "Choise" нужно заменить на switch-case;
4) Если метод "Choise" вернёт null, то при вызове:
C#
1
 obj[i].Show();
Будет ошибка, как при обращении к несуществующему элементу. Нужно добавить проверку на null.
5) Я бы сделал Show методом, который возвращает строку, а вывод в консоль вынес бы во внешнюю функцию.
6) На всякий случай, для вычисления возраста нужно будет сделать примерно так:
C#
1
2
3
            DateTime Birthday = DateTime.Parse("01/06/1995");
            DateTime age = new DateTime().Add(DateTime.Now.Subtract(Birthday));
            string ageStr = string.Format("Возраст: {0} лет, {1} месяцев, {2} дней.", age.Year , age.Month, age.Day);
1
0 / 6 / 0
Регистрация: 16.11.2017
Сообщений: 36
28.02.2018, 23:29  [ТС] 3
большое спасибо за ответ ,ваши замечания учла ). не могли бы вы для конкретно моего примера помочь с датами ? мне нужно для каждой персоны вывести возраст и после вывести фамилии персон чей возраст лежит в заданном диапазоне ( диапазон вводится с клавиатуры)
помогите пожалуйста )
0
134 / 129 / 59
Регистрация: 16.06.2013
Сообщений: 523
28.02.2018, 23:48 4
ALEXANDRA1995, а в чём проблема-то? как выводить возраст я в сообщении написал. Оттуда же понятно, как получить точное количество лет, месяцев и дней возраста. Сомневаюсь, что сравнить эти значения, с тем, что введено с клавиатуры, и по этому сравнению вынести вердикт - выводить на экран фамилию, или нет, настолько сложно.
1
0 / 6 / 0
Регистрация: 16.11.2017
Сообщений: 36
01.03.2018, 00:16  [ТС] 5
сравнить не сложно конечно , у меня не выводит возраст . считывается инфа из файла и на это всё

Добавлено через 24 минуты
помогите пожалуйста на моем коде рассчитать и вывести возраст для всех персон, а то никак не получается а уже сравнивать буду сама пытаться!)
заранее спасибо !
0
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
01.03.2018, 12:16 6
Лучший ответ Сообщение было отмечено ALEXANDRA1995 как решение

Решение

ALEXANDRA1995, немного переработал ваш код.
Кликните здесь для просмотра всего текста
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
using System;
using System.Globalization;
using System.Text;
using System.IO;
 
namespace LABA3
{
    struct Birthday
    {
        public int Years;
        public int Months;
        public int Days;
 
        public Birthday(int years, int months, int days)
        {
            Years = years;
            Months = months;
            Days = days;
        }
 
        public override string ToString()
        {
            return string.Format("Years {0},month {1} and days {2}", Years, Months, Days);
        }
    }
    abstract class Person
    {
        public DateTime Birthday;
        protected string Surname; ////объявление строковой переменной с доступом внутри класса и в производных
        protected string Faculty;
 
        protected Person(string surname, DateTime birthday, string faculty) //конструктор абстрактного класса
        {
            Surname = surname; //присваивание значений, переданных через конструктор, переменным класса
            Birthday = birthday;
            Faculty = faculty;
        }
 
        public abstract void Show();//абстрактный метод просмотра
 
        public static Person Parse(string[] entry)
        {
            var date = DateTime.Parse(entry[2], new CultureInfo("ru-Ru"));
            switch (entry[0])
            {
                case "1":
                    return new Abiturient(entry[1], date, entry[3]);
                case "2":
                    return new Student(entry[1], date, entry[3], int.Parse(entry[4]));
                default: return new Prepod(entry[1], date, entry[3], entry[4], int.Parse(entry[5]));
            }
        }
        public static Birthday CalcAge(DateTime beginDate)
        {
            //source https://gist.github.com/faisalman/1724253
            int years, months, days;
            DateTime currentDate=DateTime.Now;
            if (currentDate.Year - beginDate.Year > 0 ||
                currentDate.Year - beginDate.Year == 0 && (beginDate.Month < currentDate.Month ||
                                                   beginDate.Month == currentDate.Month && beginDate.Day <= currentDate.Day))
            {
                int daysInBdayMonth = DateTime.DaysInMonth(beginDate.Year, beginDate.Month);
                int daysRemain = currentDate.Day + (daysInBdayMonth - beginDate.Day);
 
                if (currentDate.Month > beginDate.Month)
                {
                    years = currentDate.Year - beginDate.Year;
                    months = currentDate.Month - (beginDate.Month + 1) + Math.Abs(daysRemain / daysInBdayMonth);
                    days = (daysRemain % daysInBdayMonth + daysInBdayMonth) % daysInBdayMonth;
                }
                else if (currentDate.Month == beginDate.Month)
                {
                    if (currentDate.Day >= beginDate.Day)
                    {
                        years = currentDate.Year - beginDate.Year;
                        months = 0;
                        days = currentDate.Day - beginDate.Day;
                    }
                    else
                    {
                        years = currentDate.Year - 1 - beginDate.Year;
                        months = 11;
                        days = DateTime.DaysInMonth(beginDate.Year, beginDate.Month) - (beginDate.Day - currentDate.Day);
                    }
                }
                else
                {
                    years = currentDate.Year - 1 - beginDate.Year;
                    months = currentDate.Month + (11 - beginDate.Month) + Math.Abs(daysRemain / daysInBdayMonth);
                    days = (daysRemain % daysInBdayMonth + daysInBdayMonth) % daysInBdayMonth;
                }
            }
            else
            {
                throw new ArgumentException("Birthday date must be earlier than current date");
            }
            return new Birthday(years,months,days);
        }
 
    }
    sealed class Abiturient : Person
    {
        public Abiturient(string surname, DateTime birthday, string faculty)
            : base(surname, birthday, faculty)
        {
 
        }
 
        public override void Show()//абстрактный метод просмотра
        {
            Console.WriteLine("Абитуриент\nФамилия: {0}," +
                              "\nДата рождения {1:dd/MM/yyyy}," +
                              " \nФакультет {2}", Surname, Birthday, Faculty);
        }
 
 
    }
    sealed class Student : Person
    {
        private int Kurs; //добавляем переменную
        public Student(string surname, DateTime birthday, string faculty, int kurs)
            : base(surname, birthday, faculty)
        {
            Kurs = kurs;
        }
 
        public override void Show()//абстрактный метод просмотра
        {
            Console.WriteLine("Cтудент\nФамилия: {0}," +
                              "\nДата рождения {1:dd/MM/yyyy}," +
                              " \nФакультет {2}, \nКурс {3} ", Surname, Birthday, Faculty, Kurs);
        }
 
    }
    sealed class Prepod : Person
    {
        private readonly string _post;
        public int Experience;
 
        public Prepod(string surname, DateTime birthday, string faculty, string post, int experience)
            : base(surname, birthday, faculty)
        {
            Experience = experience;
            _post = post;
        }
        public override void Show()//абстрактный метод просмотра
        {
            Console.WriteLine("Препод\nФамилия: {0}," +
                              "\nДата рождения {1:dd/MM/yyyy}, " +
                              "\nФакультет {2}, \nДолжность {3}, " +
                              "\nСтаж {4} ", Surname, Birthday, Faculty, _post, Experience);
        }
 
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.OutputEncoding = Encoding.UTF8;
            using (var reader = new StreamReader(@"D:/2.txt", Encoding.GetEncoding(1251)))
            {
                while (!reader.EndOfStream)
                {
                    var person = Person.Parse(reader.ReadLine().Split('|'));
                    person.Show();
                    Console.WriteLine(Person.CalcAge(person.Birthday).ToString());
                    Console.WriteLine();
                }
            }
 
        }
    }
}


Если нужно только количество ПОЛНЫХ лет, то используйте что-то на подобии этого
C#
1
2
3
4
5
6
// Save today's date.
var today = DateTime.Today;
// Calculate the age.
var age = today.Year - birthdate.Year;
// Go back to the year the person was born in case of a leap year
if (birthdate > today.AddYears(-age)) age--;
1
0 / 6 / 0
Регистрация: 16.11.2017
Сообщений: 36
01.03.2018, 23:25  [ТС] 7
огромное спасибо за ответ !)
может вы сможете помочь и написать в своём отредактированном коде метод чтобы вывести фамилии персон чей возраст лежит в заданном диапазоне ( диапазон вводится с клавиатуры) ,не могу понять как его тут реализовать
заранее спасибо !
0
Почтальон
02.03.2018, 08:33
  #8

Не по теме:

ALEXANDRA1995, дайте воды напиться, а то так есть хочется, что переночевать негде :)

0
418 / 316 / 241
Регистрация: 29.05.2010
Сообщений: 796
Записей в блоге: 1
02.03.2018, 14:22 9
ALEXANDRA1995, Ок
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
using System;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
 
namespace LABA3
{
    struct Age
    {
        public int Years;
        public int Months;
        public int Days;
 
        public Age(int years, int months, int days)
        {
            Years = years;
            Months = months;
            Days = days;
        }
 
        public override string ToString()
        {
            if (Months == 0)
                return string.Format("Вам {0} лет и {1} дней", Years, Days);
            return string.Format("Вам {0} лет, {1} месцев и {2} дней", Years, Months, Days);
        }
    }
    abstract class Person
    {
        public DateTime Birthday;
 
        public Age Age
        {
            get { return CalcAge(); }
        }
        protected string Surname; ////объявление строковой переменной с доступом внутри класса и в производных
        protected string Faculty;
 
        protected Person(string surname, DateTime birthday, string faculty) //конструктор абстрактного класса
        {
            Surname = surname; //присваивание значений, переданных через конструктор, переменным класса
            Birthday = birthday;
            Faculty = faculty;
        }
 
        public abstract void Show();//абстрактный метод просмотра
 
        public static Person Parse(string[] entry)
        {
            var date = DateTime.Parse(entry[2], new CultureInfo("ru-Ru"));
            switch (entry[0])
            {
                case "1":
                    return new Abiturient(entry[1], date, entry[3]);
                case "2":
                    return new Student(entry[1], date, entry[3], int.Parse(entry[4]));
                default: return new Prepod(entry[1], date, entry[3], entry[4], int.Parse(entry[5]));
            }
        }
        private Age CalcAge()
        {
            //source https://gist.github.com/faisalman/1724253
            int years, months, days;
            DateTime currentDate = DateTime.Now;
            if (currentDate.Year - Birthday.Year > 0 ||
                currentDate.Year - Birthday.Year == 0 && (Birthday.Month < currentDate.Month ||
                                                   Birthday.Month == currentDate.Month && Birthday.Day <= currentDate.Day))
            {
                int daysInBdayMonth = DateTime.DaysInMonth(Birthday.Year, Birthday.Month);
                int daysRemain = currentDate.Day + (daysInBdayMonth - Birthday.Day);
 
                if (currentDate.Month > Birthday.Month)
                {
                    years = currentDate.Year - Birthday.Year;
                    months = currentDate.Month - (Birthday.Month + 1) + Math.Abs(daysRemain / daysInBdayMonth);
                    days = (daysRemain % daysInBdayMonth + daysInBdayMonth) % daysInBdayMonth;
                }
                else if (currentDate.Month == Birthday.Month)
                {
                    if (currentDate.Day >= Birthday.Day)
                    {
                        years = currentDate.Year - Birthday.Year;
                        months = 0;
                        days = currentDate.Day - Birthday.Day;
                    }
                    else
                    {
                        years = currentDate.Year - 1 - Birthday.Year;
                        months = 11;
                        days = DateTime.DaysInMonth(Birthday.Year, Birthday.Month) - (Birthday.Day - currentDate.Day);
                    }
                }
                else
                {
                    years = currentDate.Year - 1 - Birthday.Year;
                    months = currentDate.Month + (11 - Birthday.Month) + Math.Abs(daysRemain / daysInBdayMonth);
                    days = (daysRemain % daysInBdayMonth + daysInBdayMonth) % daysInBdayMonth;
                }
            }
            else
            {
                throw new ArgumentException("Age date must be earlier than current date");
            }
            return new Age(years, months, days);
        }
 
    }
    sealed class Abiturient : Person
    {
        public Abiturient(string surname, DateTime birthday, string faculty)
            : base(surname, birthday, faculty)
        {
 
        }
 
        public override void Show()//абстрактный метод просмотра
        {
            Console.WriteLine("Абитуриент\nФамилия: {0}," +
                              "\nДата рождения {1:dd/MM/yyyy}," +
                              " \nФакультет {2},возраст: {3}", Surname, Birthday, Faculty, Age);
        }
 
 
    }
    sealed class Student : Person
    {
        private readonly int _kurs; //добавляем переменную
        public Student(string surname, DateTime birthday, string faculty, int kurs)
            : base(surname, birthday, faculty)
        {
            _kurs = kurs;
        }
 
        public override void Show()//абстрактный метод просмотра
        {
            Console.WriteLine("Cтудент\nФамилия: {0}," +
                              "\nДата рождения {1:dd/MM/yyyy}," +
                              " \nФакультет {2}, \nКурс {3},возраст: {4} ", Surname, Birthday, Faculty, _kurs, Age);
        }
 
    }
 
    sealed class Prepod : Person
    {
        private readonly string _post;
        private readonly int _experience;
 
        public Prepod(string surname, DateTime birthday, string faculty, string post, int experience)
            : base(surname, birthday, faculty)
        {
            _experience = experience;
            _post = post;
        }
        public override void Show()//абстрактный метод просмотра
        {
            Console.WriteLine("Препод\nФамилия: {0}," +
                              "\nДата рождения {1:dd/MM/yyyy}, " +
                              "\nФакультет {2}, \nДолжность {3}, " +
                              "\nСтаж {4},возраст: {5} ", Surname, Birthday, Faculty, _post, _experience, Age);
        }
 
    }
    class Program
    {
        static void Main(string[] args)
        {
            const string fname = @"D:/2.txt";
            Console.OutputEncoding = Encoding.UTF8;
            Console.ForegroundColor = ConsoleColor.Cyan;
 
            var persons = File.ReadAllLines(fname, Encoding.GetEncoding(1251))
                .Select(i => Person.Parse(i.Split('|'))).ToList();
            foreach (var person in persons)
            {
                person.Show();
                Console.WriteLine();
            }
 
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Введите начальную дату  интервала");
            var begin = DateTime.Parse(Console.ReadLine(), new CultureInfo("ru-Ru"));
 
            Console.WriteLine("А теперь конечную :) ");
            var end = DateTime.Parse(Console.ReadLine(), new CultureInfo("ru-Ru"));
 
            if(begin>end)
                throw new Exception("Начальная дата должна быть меньше чем конечная");
            var result = persons.Where(i => i.Birthday >= begin && i.Birthday <= end).ToArray();
 
            Console.ForegroundColor = ConsoleColor.Cyan;
            foreach (var person in result)
            {
                person.Show();
                Console.WriteLine();
            }
 
            Console.ReadKey();
        }
    }
}
0
02.03.2018, 14:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2018, 14:22
Помогаю со студенческими работами здесь

запись,чтение,вычисление даты в mysql
вопросы такого рода: 1. Каким методом загнать дату(например 2011.03.05 12:10:00) в БД 2. Как...

определение сегодняшней даты
Добрый день, вопрос следующий: возможно ли в Pascal каким-либо образом задать процедуру, которая бы...

От сегодняшней даты отнять вводимую
Добрый вечер. Пожскажите пожалуйста код. На форме есть компонент &quot;Timer&quot; Через него вывожу дату...

Вывод событий сегодняшней даты в таблицу
Нужно вывести в таблицу события сегодняшнего дня.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru