Работа с датой C+

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
Здравствуйте!
Имеется кусочек кода на С+, который отображает дату в настоящий момент как я понял.
Код:
DateTime dt = DateTime.Now;
var result = dt.ToString("dd/MM/yyyy");
return result;
Подскажите пожалуйста как можно получить дату например на месяц или день вперед и назад и затем сравнить две даты по условию больше или меньше? Заранее всем спасибо!
 
Последнее редактирование:

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 452
Благодарностей
1 886
Баллы
113

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
DateTime dt = DateTime.Now.AddDays(1);
DateTime dt = DateTime.Now.AddDays(-1);
Спасибо, а как сравнить именно даты? Например 11.01.2016 и 10.02.2016 , по условию я так понял цепляет только первые два числа и проект идет по успешной ветке, хотя на самом деле не так, может как то это время перевести в другие единицы и их сравнивать?
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 311
Благодарностей
1 191
Баллы
113
Можно перевести в unixdatatime и добавлять значение 86400 или отнимать его в зависимости от задачи и сравнивать будет легче.
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 452
Благодарностей
1 886
Баллы
113
А что Вам нужно сравнивать? Какая из дат больше?
Код:
DateTime dt2 = DateTime.Now.AddDays(1);
DateTime dt1 = DateTime.Now.AddDays(-1);
if(dt1>dt2)
{
    return "ok";
}
return "no";
 

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18
А что Вам нужно сравнивать? Какая из дат больше?
Код:
DateTime dt2 = DateTime.Now.AddDays(1);
DateTime dt1 = DateTime.Now.AddDays(-1);
if(dt1>dt2)
{
    return "ok";
}
return "no";
В данном варианте оба сравниваемых значения формируются внутри кода, но необходимо сравнить дату сформированную кодом и дату полученную в результате парсинга, каким образом запарсеную дату поместить в код без ошибок, так что бы он это понял?



Можно перевести в и добавлять значение 86400 или отнимать его в зависимости от задачи и сравнивать будет легче.
думаю что предложенный вариант тоже может подойти, подскажите как перевести дату в unixdatatime
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 452
Благодарностей
1 886
Баллы
113
В данном варианте оба сравниваемых значения формируются внутри кода, но необходимо сравнить дату сформированную кодом и дату полученную в результате парсинга, каким образом запарсеную дату поместить в код без ошибок, так что бы он это понял?



думаю что предложенный вариант тоже может подойти, подскажите как перевести дату в unixdatatime
http://joxi.ru/D2P6WEdSd5xd1r
 
  • Спасибо
Реакции: serg32

serg32

Client
Регистрация
27.02.2015
Сообщения
545
Благодарностей
15
Баллы
18

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 311
Благодарностей
1 191
Баллы
113
Ну не знай ... это начальный уровень С# ещё только, я тут смотрю как полупрофи пишут проги и смотрю какие библиотеки используют люди и у меня глаза на лоб лезут.
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 452
Благодарностей
1 886
Баллы
113
Ну не знай ... это начальный уровень С# ещё только, я тут смотрю как полупрофи пишут проги и смотрю какие библиотеки используют люди и у меня глаза на лоб лезут.
Для человека это уже высший пилотаж. Когда в этом всём не понимаешь ничего, элементарно добавить условие уже сложно.
 

kolya1983

Новичок
Регистрация
09.01.2016
Сообщения
7
Благодарностей
0
Баллы
1
а как получить последний день месяца
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
а как получить последний день месяца
Код:
var lastDay = new DateTime(year, month, 1).AddDays(-1)
вместо month ставите следующий по порядку месяц. то есть если надо узнать у 2 месяца, то надо поставить 3.
 

kolya1983

Новичок
Регистрация
09.01.2016
Сообщения
7
Благодарностей
0
Баллы
1
[QUOTE = "arhip1985, пост: 277399, член: 2396"] [КОД] вар lastDay = новый DateTime (год, месяц, 1) .AddDays (-1) [/ КОД]
вместо month ставите следующий по порядку месяц. то есть если надо узнать у 2 месяца, то надо поставить 3.[/QUOTE]
что та не выходит((, а можно пример на данный месяц ?
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113

kolya1983

Новичок
Регистрация
09.01.2016
Сообщения
7
Благодарностей
0
Баллы
1
число последнего дня в текущем месяце к примеру в этом месяце 31
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
не чуть не так, надо к месяцу же +1 прибавлять и если конец года то +год и месяц 0 ставить, добавить надо пару строчек
Код:
var year = DateTime.Now.Year;
var month = DateTime.Now.Month;
if (month==12){year+=1; month=0;}
var lastDay = new DateTime(year, month+1, 1).AddDays(-1);
return lastDay.Day;
так должно как то быть
 

kolya1983

Новичок
Регистрация
09.01.2016
Сообщения
7
Благодарностей
0
Баллы
1
ооооо..., заработала, спасибо большое :bo:
 

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)