Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

19.12.2009, 00:21
|
UID: 1174
USER: Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
И кстати tmp.Seconds, tmp.Minutes - по моему это не совсем то )
|
|
|

19.12.2009, 09:19
|
UID: 22171
USER: W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
Сообщение от Algol
И кстати tmp.Seconds, tmp.Minutes - по моему это не совсем то )
DateTime date1;
DateTime date2;
Console.WriteLine("Введите дату №1 (формат 01.12.2012 10:00)");
var str1 = Console.ReadLine();
Console.WriteLine("Введите дату №2  формат 01.12.2012) 11:00");
var str2 = Console.ReadLine();
if (!DateTime.TryParse(str1, out date1))
{
Console.WriteLine("Ошибка при парсинге даты №1");
}
if (!DateTime.TryParse(str2, out date2))
{
Console.WriteLine("Ошибка при парсинге даты №2");
}
var tmp = date2 > date1 ? date2 - date1 : date1 - date2;
var t1 = new DateTime() + tmp;
Console.WriteLine("Разница в годах: {0}", t1.Year - 1);
Console.WriteLine("Разница в месяцах: {0}", t1.Month - 1);
Console.WriteLine("Разница в днях: {0}", tmp.Days);
Console.WriteLine("Разница в часах: {0}", tmp.Hours);
Console.WriteLine("Разница в минутах: {0}", tmp.Minutes);
Console.WriteLine("Разница в секундах: {0}", tmp.Seconds);
Console.ReadLine();
return;
так?)))))))))))))
и кстати)))))
не понял чем tmp.* не то 
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

19.12.2009, 14:00
|
UID: 1174
USER: Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
Сообщение от W!z@rD
var t1 = new DateTime() + tmp;
...
t1.Month - 1
А это что за костыли?
Сообщение от W!z@rD
и кстати)))))
не понял чем tmp.* не то 
Дело в том, что считать разницу между датами, так как считаешь ты - не имеет смысла (хотя автору задачи может быть оно как раз и подходит - не знаю).
Объясню почему: допустим ты считаешь разницу между 1.12.2009 и 1.01.2010
У тебя получется разница в 1 месяц. Но один месяц это сколько? Ведь длина месяца может быть разной, бывает 31 день, бывает 30, 29, 28. Аналогично с годами - бывают года по 365 дней, а бывают по 366. Получется что разницу дат не имеет смысла считать в месяцах и годах, это бессмысленно (вернее это дает лишь приблизительную информацию о промежутке времени).
Именно поэтому разница дат дает объект TimeSpan , а у него есть число минут, часов, дней, но нет месяцов и лет, по вышеуказанной причине.
|
|
|

19.12.2009, 14:15
|
UID: 22171
USER: W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
Сообщение от Algol
А это что за костыли?
Тип значения DateTime представляет дату и время в диапазоне от 00:00:00 1 января 0001 года (н. э.) до 23:59:59 31 декабря 9999 года (н. э.).
(c) MSDN 
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

19.12.2009, 14:28
|
UID: 1174
USER: Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
Сообщение от W!z@rD
Тип значения DateTime представляет дату и время в диапазоне от 00:00:00 1 января 0001 года (н. э.) до 23:59:59 31 декабря 9999 года (н. э.).
(c) MSDN 
Ссылка на МСДН это конечно здорово, но к костылям отношение имеет малое.
Есть логическое объяснение, зачем нужна строка
var t1 = new DateTime() + tmp;
и почему дни выводятся как tmp.Days, а месяца как t1.Month - 1 ?
ЗЫ
Да и кстати, что за жуткая привычка использовать var где оно совершенно не нужно, и даже вредит?
|
|
|

19.12.2009, 16:07
|
UID: 22171
USER: W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
Сообщение от Algol
Ссылка на МСДН это конечно здорово, но к костылям отношение имеет малое.
Есть логическое объяснение, зачем нужна строка
var t1 = new DateTime() + tmp;
и почему дни выводятся как tmp.Days, а месяца как t1.Month - 1 ?
ЗЫ
Да и кстати, что за жуткая привычка использовать var где оно совершенно не нужно, и даже вредит?
переделал как:
var tmp = date2 > date1 ? date2.Subtract(date1) : date1.Subtract(date2);
var t1 = (new DateTime(tmp.Ticks)).ToUniversalTime();
Console.WriteLine("Разница в годах: {0}", t1.Year);
Console.WriteLine("Разница в месяцах: {0}", t1.Month);
Console.WriteLine("Разница в днях: {0}", tmp.Days);
Console.WriteLine("Разница в часах: {0}", tmp.Hours);
Console.WriteLine("Разница в минутах: {0}", tmp.Minutes);
Console.WriteLine("Разница в секундах: {0}", tmp.Seconds);
Но вобщем то результат остался прежним. =\
По поводу "var" дело привычки.
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

19.12.2009, 20:14
|
UID: 1174
USER: Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
Сообщение от W!z@rD
переделал как:
Те же яйца тока в профиль)
Ладно, проехали 
|
|
|

19.12.2009, 22:35
|
UID: 80374
USER: KINОshnik
Новичок
Регистрация: 22.03.2009
Сообщений: 3
Провел на форуме: 10863
Репутация:
0
|
|
Ребята нужна помощь  В С# мне нужно по символу восстановить его целочисленный код в таблице ASCII и обратно, по числу получить символ из таблицы. Напишите пожалуйста кусочек кода как это провернуть
|
|
|

19.12.2009, 22:40
|
UID: 80374
USER: KINОshnik
Новичок
Регистрация: 22.03.2009
Сообщений: 3
Провел на форуме: 10863
Репутация:
0
|
|
Ребята нужна помощь В С# мне нужно по символу восстановить его целочисленный код в таблице ASCII и обратно, по числу получить символ из таблицы. Напишите пожалуйста кусочек кода как это провернуть
|
|
|

20.12.2009, 02:03
|
UID: 1174
USER: Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме: 2050916
Репутация:
0
|
|
Convert.ToByte()
Convert.ToChar()
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|