<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; JScript: new date.getMonth() возвращает неправильный месяц]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7259</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7259&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «JScript: new date.getMonth() возвращает неправильный месяц».]]></description>
		<lastBuildDate>Sat, 09 Jun 2012 08:54:22 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60831#p60831</link>
			<description><![CDATA[<p>Буквально на днях, работал с датой в Perl:<br /></p><div class="quotebox"><blockquote><p>perldoc -f localtime</p><p>&nbsp; &nbsp; &nbsp; &nbsp;localtime EXPR<br />&nbsp; &nbsp; &nbsp; &nbsp;localtime<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Converts a time as returned by the time function to a 9-element<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;list with the time analyzed for the local time zone.&nbsp; Typically<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;used as follows:</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#&nbsp; 0&nbsp; &nbsp; 1&nbsp; &nbsp; 2&nbsp; &nbsp; &nbsp;3&nbsp; &nbsp; &nbsp;4&nbsp; &nbsp; 5&nbsp; &nbsp; &nbsp;6&nbsp; &nbsp; &nbsp;7&nbsp; &nbsp; &nbsp;8<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;localtime(time);</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;All list elements are numeric, and come straight out of the C<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;`struct tm&#039;.&nbsp; $sec, $min, and $hour are the seconds, minutes,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;and hours of the specified time.</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$mday is the day of the month, and <strong>$mon is the month itself, in<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;the range 0..11 with 0 indicating January and 11 indicating<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;December.&nbsp; This makes it easy to get a month name from a list</strong>:</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;my @abbr = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec );<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;print &quot;$abbr[$mon] $mday&quot;;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# $mon=9, $mday=18 gives &quot;Oct 18&quot;. . . <br />. . . <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<strong>$wday is the day of the week, with 0 indicating Sunday and 3<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;indicating Wednesday.</strong>&nbsp; $yday is the day of the year, in the<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;range 0..364 (or 0..365 in leap years.)<br />. . .</p></blockquote></div><p>Краткий пересказ. $mon это месяц, число в интервале 0..11, где 0 - январь, 11 - декабрь. Это удобно и упрощает получение имени месяца из списка. Там же показан и пример. </p><p>Аналогично для дней недели. </p><p>Все весьма логично.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Sat, 09 Jun 2012 08:54:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60831#p60831</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60813#p60813</link>
			<description><![CDATA[<div class="quotebox"><cite>RUVATA пишет:</cite><blockquote><p>но вот уже &quot;день недели&quot; представляется в виде от 0-7 где 0 - это воскресенье, ну и 7 - соответственно суббота</p></blockquote></div><p>сорри, не мог не заметить, что от 0 до 6, хотя... <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (dab00)]]></author>
			<pubDate>Thu, 07 Jun 2012 15:12:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60813#p60813</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60808#p60808</link>
			<description><![CDATA[<p>Rumata, спасибо... Действительно, таков стандарт ECMA...<br />(я когда курил стандарт, совсем не обратил на это внимание, ну меня правда тогда даты особо не интересовали) <br />Зря это мы на WSH наехали <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p><div class="quotebox"><blockquote><p>что это индекс мифического массива названий месяцев. И то, это мое лчное оправдание, которое нужно ну чтобы хоть как-то объяснить такую логику.</p></blockquote></div><p>Так и есть, это прямо таки проистекает из стандарта:<br /></p><div class="quotebox"><blockquote><p>Значение месяца, равное 0, обозначает январь; 1 - февраль; 2 - март; 3 - апрель; 4 - май; 5 - июнь; 6 - июль; 7 - август; 8 - сентябрь; 9 - октябрь; 10 - ноябрь; 11 - декабрь.</p></blockquote></div><p>я думаю, что так было сделано из соображений, возможной необходимости обработки даты в текстовом представлении, предполагаю это в силу того, что &quot;номер дня&quot; (т.е. дата) согласно стандарту это целое число от 1 до 31 ,но вот уже &quot;день недели&quot; представляется в виде от 0-7 где 0 - это воскресенье, ну и 7 - соответственно суббота. Поскольку день недели и месяц это те величины которые довольно часто имеют текстовое представление, или же имеется необходимость их в таком виде предоставлять, в отличии от традиционного дня месяца (даты). Хотя мое предположение предписывает наличие функционала, который такое текстовое представление возвращает, что-то типа <strong>getDateStr()</strong>, которое вместо индекса <strong>0</strong> (январь), к примеру, возвращало бы строку &quot;<strong>January</strong>&quot; - это бы точно объясняло зачем, и почему, но нет.</p>]]></description>
			<author><![CDATA[null@example.com (RUVATA)]]></author>
			<pubDate>Thu, 07 Jun 2012 06:24:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60808#p60808</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60767#p60767</link>
			<description><![CDATA[<div class="quotebox"><cite>Slav пишет:</cite><blockquote><p>Как хотите - но я считаю подобный пример на JScript логически противоречивым</p></blockquote></div><p>Коллега, Вы правы. Единственное оправдание этому я нахожу только в том, что это индекс мифического массива названий месяцев. И то, это мое лчное оправдание, которое нужно ну чтобы хоть как-то объяснить такую логику. </p><p>И кстати, коллеги! Эта &quot;багофича&quot; особенность не JScript, но JavaScript, которые оба суть реализации ECMAScript. <a href="http://javascript.ru/ecma/part15#a-15.9.1.4">Стандарт языка такой</a>. К WSH это никакого отношения не имеет.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Tue, 05 Jun 2012 12:05:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60767#p60767</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60764#p60764</link>
			<description><![CDATA[<div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><p>...<br />Произвольный массив, создать вы его должны сами, месяцы обозвать как угодно и первый месяц будет иметь индекс 0.<br />...</p></blockquote></div><p>Александр_,</p><p>ну если уж это &quot;произвольный массив&quot; и месяцы я могу называть как угодно - то дайте мне возможность произвольно определять и само количество этих месяцев.<br />Пусть первый индекс будет 0, а почему последний 11 ?<br />Это - шутка.</p><p>Если серьезно - то подобные обсуждения полезны тем, что анализ &quot;граблей-багов-фич&quot; позволяет самому не повторять подобного.<br />Как хотите - но я считаю подобный пример на JScript логически противоречивым.<br />Смириться с фактом я готов, но пытаться объяснить это логически - не могу! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><div class="codebox"><pre><code>var ss01 = &quot;7/20/1996&quot;;

var dd = new Date(); 
dd.setTime(Date.parse(ss01)); 

var ss02 = &quot; -&gt; &quot; + dd.getMonth() + &quot;/&quot; + dd.getDate() + &quot;/&quot; + dd.getFullYear();

WScript.Echo(ss01 + ss02);</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Slav)]]></author>
			<pubDate>Tue, 05 Jun 2012 11:32:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60764#p60764</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60761#p60761</link>
			<description><![CDATA[<div class="quotebox"><cite>Slav пишет:</cite><blockquote><p>ну почему же все - а как же:<br /></p><div class="codebox"><pre><code>tm_mday day of the month 1-31</code></pre></div></blockquote></div><p>См. пост 8.<br /></p><div class="quotebox"><cite>Slav пишет:</cite><blockquote><p>В последнем посте, коллега, Вы употребили слово &quot;индекс&quot; 3 раза.<br />Если я правильно понимаю, то это &quot;индексы&quot; в неких массивах - в каких именно?<br />Ну где конкретно описан, например, массив месяцев - в С++ или в JScript?<br />Куда этот &quot;индекс&quot; &quot;вставить&quot;?</p></blockquote></div><p>Произвольный массив, создать вы его должны сами, месяцы обозвать как угодно и первый месяц будет иметь индекс 0.<br /></p><div class="quotebox"><cite>Slav пишет:</cite><blockquote><p>Этот &quot;индекс&quot; вообще ни для чего &quot;не предназначен&quot; - ладно на экран, его и в расчетах использовать тоже нельзя.</p></blockquote></div><p>Это шутка?<br /></p><div class="quotebox"><cite>RUVATA пишет:</cite><blockquote><p>А я разве назвал их языками программирования ? Это часто встречающееся у программистов способ указания на сочетание языка и конкретного фреймворка, или среды программирования, первым пишут непосредственно язык, а поттом через &quot;/&quot; фреймворки, среды, технологии, окружения и т.д.</p></blockquote></div><p>Раньше не сталкивался с таким обозначением, учту.<br /></p><div class="quotebox"><cite>RUVATA пишет:</cite><blockquote><p>Где я вам сказал что там индексы не идут с нуля ?! вы читаете через слово? (или даже через два)</p></blockquote></div><p>А где я писал, что вы писали, что индексы не идут с нуля? вы читаете через слово? (или даже через два)? <img src="//forum.script-coding.com/img/smilies/lol.png" width="15" height="15" /><br /></p><div class="quotebox"><cite>RUVATA пишет:</cite><blockquote><p>где вы тут нашли ЛЛП ?</p></blockquote></div><p>Тут нету, есть там:<br /></p><div class="quotebox"><cite>RUVATA пишет:</cite><blockquote><p>В С++/Qt/GTK, Python во всех ипостасиях, JavaScript/Node.js, Ruby, AutoIt, ну везде где я только встречал встроенные средства для работы с текущей системной датой и временем, нигде не было подобного, если есть функция возвращающая текущий месяц, то она возвращает его из расчета 1-12</p></blockquote></div><p>В C++ индекс первого месяца равен нулю. Достаточно разжевал? Самое смешное, что ту фразу, которую привели вы я вообще не цитировал <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" />.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Tue, 05 Jun 2012 10:17:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60761#p60761</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60760#p60760</link>
			<description><![CDATA[<p>Александр, </p><div class="quotebox"><blockquote><p>а QT и GTK это вообще не языки программирования</p></blockquote></div><p>А я разве назвал их языками программирования ? Это часто встречающееся у программистов способ указания на сочетание языка и конкретного фреймворка, или среды программирования, первым пишут непосредственно язык, а поттом через &quot;/&quot; фреймворки, среды, технологии, окружения и т.д.<br />C++(язык)/Qt (фреймворк) / GTK (фреймворк)<br />JavaScript(язык)/Node.JS(технология, окружение-интерпритация)<br /></p><div class="quotebox"><blockquote><p>В C++ все индексы идут с нуля</p></blockquote></div><p>Где я вам сказал что там индексы не идут с нуля ?! вы читаете через слово? (или даже через два)<br />Я сказал:<br /></p><div class="quotebox"><blockquote><p>В С++/Qt/GTK, Python во всех ипостасиях, JavaScript/Node.js, Ruby, AutoIt, ну везде где я только встречал встроенные средства для работы с текущей системной датой и временем, нигде не было подобного, если есть функция возвращающая текущий месяц, то она возвращает его из расчета 1-12,<br />и пусть там &quot;за кулисами&quot; общепринятый в программировании отсчет от нуля, на выход они выдают уже обработанный вариант, если надо +1, значит +1 делается &quot;за кулисами&quot;</p></blockquote></div><p>и еще ранее<br /></p><div class="quotebox"><blockquote><p>А по поводу массивов, не могу припомнить ни одного языка где бы это было не так, разве что в VB/VBA сталкивался, где специальная инструкция Option Base 1 задает нижнюю границу массива принудительно.</p></blockquote></div><p>где вы тут нашли ЛЛП ?</p><p>Наверное я тоже соглашусь с ...<br /></p><div class="quotebox"><blockquote><p>Я согласен с коллегой Rumata - &quot;...к этому надо привыкнуть&quot;</p></blockquote></div><p>а по поводу<br /></p><div class="quotebox"><blockquote><p>проведите границу между WSH и JS и определите</p></blockquote></div><p>мы как раз с вами разговариваем о технологии Windows Scripting, и доступных для языка JScript (который семантически - JavaScript), через COM/OLE/ActiveX объекты... разница не в языке, а в окружении, и меня интересуют соответственно грабли в этом самом окружении, встроенных и часто используемых подключаемых объектах, их методах и свойствах. Ведь этот самый объект : Date, я так понял это даже не из .Net Framework, это откуда-то из самого движка WSH<br />(путь дотнетовцы поправят меня, но в .Net Framework работа с текущей системной датой реализована через System.DateTime, и там собственно все иначе)</p>]]></description>
			<author><![CDATA[null@example.com (RUVATA)]]></author>
			<pubDate>Tue, 05 Jun 2012 09:26:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60760#p60760</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60759#p60759</link>
			<description><![CDATA[<div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><p>...В C++ все индексы идут с нуля(<a href="http://www.cplusplus.com/reference/clibrary/ctime/tm/">пруф</a>)...</p></blockquote></div><p>Александр_,</p><p>ну почему же все - а как же:</p><div class="codebox"><pre><code>tm_mday day of the month 1-31</code></pre></div><p>В последнем посте, коллега, Вы употребили слово &quot;индекс&quot; 3 раза.<br />Если я правильно понимаю, то это &quot;индексы&quot; в неких массивах - в каких именно?<br />Ну где конкретно описан, например, массив месяцев - в С++ или в JScript?<br />Куда этот &quot;индекс&quot; &quot;вставить&quot;?</p><br /><div class="quotebox"><cite>Александр_ пишет:</cite><blockquote><p>...Индекс месяца не предназначен для прямого вывода на экран, так же как индекс дня недели, для этого должны быть специальные функции.</p></blockquote></div><p>Этот &quot;индекс&quot; вообще ни для чего &quot;не предназначен&quot; - ладно на экран, его и в расчетах использовать тоже нельзя.</p><p>Я согласен с коллегой <strong>Rumata</strong> - <em>&quot;...к этому надо привыкнуть&quot;</em></p><p>Опять же сошлюсь на привычный на этом форуме VBS:<br /><a href="http://www.w3schools.com/vbscript/func_weekday.asp">The Weekday function returns a number <strong>between 1 and 7</strong>, that represents the day of the week.</a></p><p>И никаких &quot;специальных функций&quot; <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Slav)]]></author>
			<pubDate>Tue, 05 Jun 2012 06:01:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60759#p60759</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60749#p60749</link>
			<description><![CDATA[<div class="quotebox"><cite>RUVATA пишет:</cite><blockquote><p>В С++/Qt/GTK, Python во всех ипостасиях, JavaScript/Node.js, Ruby, AutoIt, ну везде где я только встречал встроенные средства для работы с текущей системной датой и временем, нигде не было подобного, если есть функция возвращающая текущий месяц, то она возвращает его из расчета 1-12</p></blockquote></div><p><a href="http://lurkmore.to/%D0%9B%D0%9F%D0%9F">ЛПП</a>! В C++ все индексы идут с нуля(<a href="http://www.cplusplus.com/reference/clibrary/ctime/tm/">пруф</a>), а QT и GTK это вообще не языки программирования. Индекс месяца не предназначен для прямого вывода на экран, так же как индекс дня недели, для этого должны быть специальные функции.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Mon, 04 Jun 2012 19:22:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60749#p60749</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60748#p60748</link>
			<description><![CDATA[<div class="quotebox"><cite>RUVATA пишет:</cite><blockquote><p>это грабли</p></blockquote></div><div class="codebox"><pre><code>грабли != баги</code></pre></div><p>На самом деле такое ошеломляет, но к этому надо привыкнуть. Также как многим программистов ошеломляют &quot;неудобная&quot; и бессистемная логика именования функций, например в vbs или php. Но таков стандарт языка. И всего лишь.<br /> </p><div class="quotebox"><cite>RUVATA пишет:</cite><blockquote><p>нечто подобное в Windows Scripting ?</p></blockquote></div><p>проведите границу между WSH и JS и определите - где именно Вы готовитесь встретить неочевидное. (-:</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Mon, 04 Jun 2012 19:14:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60748#p60748</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60746#p60746</link>
			<description><![CDATA[<p>Slav, спасибо, спасибо, спасибо !<br />наконец-то хоть один человек признал что это грабли <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /> <br />В С++/Qt/GTK, Python во всех ипостасиях, JavaScript/Node.js, Ruby, AutoIt, ну везде где я только встречал встроенные средства для работы с текущей системной датой и временем, нигде не было подобного, если есть функция возвращающая текущий месяц, то она возвращает его из расчета 1-12, <br />и пусть там &quot;за кулисами&quot; общепринятый в программировании отсчет от нуля, на выход они выдают уже обработанный вариант, если надо +1, значит +1 делается &quot;за кулисами&quot;. Зачем эти грабли подложили пользователю в WSH, для меня остается загадкой.<br />Отсюда закономерный вопрос: <br />Есть ли еще нечто подобное в Windows Scripting ? (в смысле такие вот не очевидные грабли)<br />Хотелось бы знать заранее.</p>]]></description>
			<author><![CDATA[null@example.com (RUVATA)]]></author>
			<pubDate>Mon, 04 Jun 2012 18:30:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60746#p60746</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60743#p60743</link>
			<description><![CDATA[<div class="quotebox"><cite>Rumata пишет:</cite><blockquote><p>Date.getDate() - определенное число<br />Date.getMonth() - всего лишь индекс. <br />Например:<br /></p><div class="codebox"><pre><code>var months = &#039;Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь&#039;.split(&#039; &#039;);

var now = new Date();
var m = now.getMonth();

alert(months[m]);</code></pre></div></blockquote></div><p>Когда я переходил с VBS на JScript тоже наступил на эти грабли.<br />До сих пор для меня это загадка - почему Date.getMonth() возвращает некий мифический индекс вместо номера месяца?<br />Ни в одном языке такого не встречал - да вот хотя бы как в VBS:</p><div class="codebox"><pre><code>WScript.Echo Month(Now)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Slav)]]></author>
			<pubDate>Mon, 04 Jun 2012 12:10:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60743#p60743</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60740#p60740</link>
			<description><![CDATA[<div class="quotebox"><cite>RUVATA пишет:</cite><blockquote><p>ну так и делали бы тогда и даты от НУЛЯ</p></blockquote></div><p>Date.getDate() - определенное число<br />Date.getMonth() - всего лишь индекс. <br />Например:<br /></p><div class="codebox"><pre><code>var months = &#039;Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь&#039;.split(&#039; &#039;);

var now = new Date();
var m = now.getMonth();

alert(months[m]);</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Mon, 04 Jun 2012 09:59:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60740#p60740</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60738#p60738</link>
			<description><![CDATA[<p><strong>Александр_</strong>, </p><div class="quotebox"><blockquote><p>начинать отсчет с нуля это нормальная практика в программировании</p></blockquote></div><p>- так и есть, с этим никто не спорит. <br />А по поводу массивов, не могу припомнить ни одного языка где бы это было не так, разве что в VB/VBA сталкивался, где специальная инструкция <strong>Option Base 1</strong> задает нижнюю границу массива принудительно.<br />Ну так почему-же тогда дата <strong>*.getDate()</strong> - возвращает правильный день месяца... ну так и делали бы тогда и даты от <strong>НУЛЯ</strong> </p><p><strong>alexii</strong>, </p><div class="quotebox"><blockquote><p>Жду от Вас того же.</p></blockquote></div><p>извините не могу редактировать Ваши комментарии <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (RUVATA)]]></author>
			<pubDate>Mon, 04 Jun 2012 07:51:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60738#p60738</guid>
		</item>
		<item>
			<title><![CDATA[Re: JScript: new date.getMonth() возвращает неправильный месяц]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60736#p60736</link>
			<description><![CDATA[<p><strong>RUVATA</strong>, начинать отсчёт с нуля- это нормальная практика в программировании. Причём в JScript и VBScript массивы начинаются именно с нуля. С практической точки зрения- время хранится как число секунд, прошедших с определённого момента(обычно 01.01.1970) и текущий месяц, в конечном итоге, получается как остаток от целочисленного деления на 12.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Sun, 03 Jun 2012 21:47:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60736#p60736</guid>
		</item>
	</channel>
</rss>
