ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #321  
Старый 19.12.2009, 00:21
UID: 1174
USER: Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

И кстати tmp.Seconds, tmp.Minutes - по моему это не совсем то )
 
Ответить с цитированием

  #322  
Старый 19.12.2009, 09:19
UID: 22171
USER: W!z@rD
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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...
 
Ответить с цитированием

  #323  
Старый 19.12.2009, 14:00
UID: 1174
USER: Algol
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 , а у него есть число минут, часов, дней, но нет месяцов и лет, по вышеуказанной причине.
 
Ответить с цитированием

  #324  
Старый 19.12.2009, 14:15
UID: 22171
USER: W!z@rD
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
Сообщение от Algol  
А это что за костыли?
Тип значения DateTime представляет дату и время в диапазоне от 00:00:00 1 января 0001 года (н. э.) до 23:59:59 31 декабря 9999 года (н. э.).

(c) MSDN
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #325  
Старый 19.12.2009, 14:28
UID: 1174
USER: Algol
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 где оно совершенно не нужно, и даже вредит?
 
Ответить с цитированием

  #326  
Старый 19.12.2009, 16:07
UID: 22171
USER: W!z@rD
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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...
 
Ответить с цитированием

  #327  
Старый 19.12.2009, 20:14
UID: 1174
USER: Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от W!z@rD  
переделал как:
Те же яйца тока в профиль)
Ладно, проехали
 
Ответить с цитированием

  #328  
Старый 19.12.2009, 22:35
UID: 80374
USER: KINОshnik
KINОshnik
Новичок
Регистрация: 22.03.2009
Сообщений: 3
Провел на форуме:
10863

Репутация: 0
По умолчанию

Ребята нужна помощь В С# мне нужно по символу восстановить его целочисленный код в таблице ASCII и обратно, по числу получить символ из таблицы. Напишите пожалуйста кусочек кода как это провернуть
 
Ответить с цитированием

  #329  
Старый 19.12.2009, 22:40
UID: 80374
USER: KINОshnik
KINОshnik
Новичок
Регистрация: 22.03.2009
Сообщений: 3
Провел на форуме:
10863

Репутация: 0
По умолчанию

Ребята нужна помощь В С# мне нужно по символу восстановить его целочисленный код в таблице ASCII и обратно, по числу получить символ из таблицы. Напишите пожалуйста кусочек кода как это провернуть
 
Ответить с цитированием

  #330  
Старый 20.12.2009, 02:03
UID: 1174
USER: Algol
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Convert.ToByte()
Convert.ToChar()
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы и ответы - *NIX Сервера. zythar *nix системы 294 17.06.2010 08:39
Обсуждение темы. Форум - Faq. Вопросы и Ответы. Егорыч+++ Правила форума 55 16.06.2010 01:07
Форум - Faq. Вопросы и Ответы. Егорыч+++ Правила форума 0 07.06.2008 18:52
Мультимедийные Обучающие Курсы TeachPro Java VenTeL ПО для Web разработчика 8 24.04.2008 15:38
Словарь Java-терминов foreva Чужие Статьи 0 08.02.2005 16:28



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ