<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=26275&amp;view=findpost&amp;p=185661</guid>
        <pubDate>Fri, 10 May 2002 06:23:36 +0000</pubDate>
        <title>про дату</title>
        <link>https://forum.sources.ru/index.php?showtopic=26275&amp;view=findpost&amp;p=185661</link>
        <description><![CDATA[rio: Спасибо всем кто ответил, и кто просто читал!!!]]></description>
        <author>rio</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=26275&amp;view=findpost&amp;p=185660</guid>
        <pubDate>Thu, 09 May 2002 04:22:46 +0000</pubDate>
        <title>про дату</title>
        <link>https://forum.sources.ru/index.php?showtopic=26275&amp;view=findpost&amp;p=185660</link>
        <description><![CDATA[Demo_S: если я правильно понял<br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>преобразования даты в формате(char,string) дд/мм/гггг в числовой тип<br></div></div><br>, тебе нужно нечто вроде этого<br><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;br&#62;void CdmsDate::SetDateStr(const char* in)&#60;br&#62;{&#60;br&#62; &nbsp; &nbsp; &nbsp;const &nbsp; &nbsp; &nbsp;char* tmp=in;&#60;br&#62; &nbsp; &nbsp; &nbsp;char ogranich=2;&#60;br&#62; &nbsp; &nbsp; &nbsp;day=0;&#60;br&#62; &nbsp; &nbsp; &nbsp;while(isdigit(*tmp)&amp;&amp;ogranich)&#60;br&#62; &nbsp; &nbsp; &nbsp;{&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;day*=10;&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;day+=(*tmp)-48;&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp++;&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ogranich--;&#60;br&#62; &nbsp; &nbsp; &nbsp;}&#60;br&#62; &nbsp; &nbsp; &nbsp;//теперь tmp указывает на точку&#60;br&#62; &nbsp; &nbsp; &nbsp;tmp++;&#60;br&#62; &nbsp; &nbsp; &nbsp;ogranich=2;&#60;br&#62; &nbsp; &nbsp; &nbsp;month=0;&#60;br&#62; &nbsp; &nbsp; &nbsp;while(isdigit(*tmp)&amp;&amp;ogranich)&#60;br&#62; &nbsp; &nbsp; &nbsp;{&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;month*=10;&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;month+=*tmp-48;&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp++;&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ogranich--;&#60;br&#62; &nbsp; &nbsp; &nbsp;}&#60;br&#62; &nbsp; &nbsp; &nbsp;//tmp указsвает на вторую точку (разделитель)&#60;br&#62; &nbsp; &nbsp; &nbsp;tmp++;&#60;br&#62; &nbsp; &nbsp; &nbsp;ogranich=4;&#60;br&#62; &nbsp; &nbsp; &nbsp;year=0;&#60;br&#62; &nbsp; &nbsp; &nbsp;while(isdigit(*tmp)&amp;&amp;ogranich)&#60;br&#62; &nbsp; &nbsp; &nbsp;{&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;year*=10;&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;year+=*tmp-48;&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;tmp++;&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ogranich--;&#60;br&#62; &nbsp; &nbsp; &nbsp;}&#60;br&#62; &nbsp; &nbsp; &nbsp;&#60;br&#62; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if(!CheckParity()) throw Error();&#60;br&#62;}&#60;br&#62;&#60;br&#62;bool CdmsDate::CheckParity()&#60;br&#62;{&#60;br&#62; &nbsp; &nbsp; &nbsp;if(year&#60;=0) return false;&#60;br&#62; &nbsp; &nbsp; &nbsp;if(month&#60;1||month&#62;12) return false;&#60;br&#62; &nbsp; &nbsp; &nbsp;char nDay=monthes[month-1];&#60;br&#62; &nbsp; &nbsp; &nbsp;if(month==2&amp;&amp;CheckYear(year)) nDay++;&#60;br&#62; &nbsp; &nbsp; &nbsp;if(day&#60;1||day&#62;nDay)return false;&#60;br&#62; &nbsp; &nbsp; &nbsp;return true;&#60;br&#62;&#60;br&#62;}&#60;br&#62;&#60;br&#62;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br><br>хех, хотя в С нет исключений... ну ладно посленюю строчку SetDateStr()<br>там где throw Error() поменяешь.<br>получишь три числа Day,month, year а дальше читай сообщение <strong class='tag-b'>7in</strong>'п еще раз:))]]></description>
        <author>Demo_S</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=26275&amp;view=findpost&amp;p=185659</guid>
        <pubDate>Wed, 08 May 2002 18:42:29 +0000</pubDate>
        <title>про дату</title>
        <link>https://forum.sources.ru/index.php?showtopic=26275&amp;view=findpost&amp;p=185659</link>
        <description><![CDATA[7in: Создай массив, содержащий количество дней во всех предыдущих месяцах, т.е.<br>[1]Январь = 0<br>[2]Февраль = 31<br>[3]Март = 31+28<br><br>Затем...<br>if (Год mod 4 = 0 &amp;&amp; (Год mod 100 &lt;&gt; 0 &#124;&#124; Год mod 400 = 0) &amp;&amp; Месяц &lt; 3) NoVis = 1 else NoVis = 0 &nbsp;// Если сейчас год високосный, но ещё не март, то NoVis=1...<br>День = (Год-1900)*365 + МассивСДнями[НомерМесяца] + Число + Год div 4 - Год div 100 + Год div 400 - (1900 div 4 - 1900 div 100 + 1900 div 400) - NoVis<br>Секунда = Час*3600 + Минута*60 + Секунда<br><br>День 1 января 1900 года = 1 (если нужен 0, вычти 1)<br>Если я нигде не ошибся, то должно быть так.... лучше проверь (подставь 29 февраля 2000 года и 1 марта 2000 года....)<br><br>Високосный год - год, номер которого делится на 4, но не делится на 100. НО! Если номер года делится на 400, год считается високосным...]]></description>
        <author>7in</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=26275&amp;view=findpost&amp;p=185658</guid>
        <pubDate>Wed, 08 May 2002 06:08:50 +0000</pubDate>
        <title>про дату</title>
        <link>https://forum.sources.ru/index.php?showtopic=26275&amp;view=findpost&amp;p=185658</link>
        <description><![CDATA[rio: Помогите, есть ли у кого пример кода или алгоритм преобразования даты в формате(char,string) дд/мм/гггг в числовой тип, ну как в Excel-e, набрал дату, а тебе число с учетом високосных и дней в каждом месяце, начиная с 1900г. <br>Можно конечно Format юзать, но мне надо С (короче под DOSom), а там такой функции вроде нет. <br>]]></description>
        <author>rio</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	