Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Определение последнего числа масяца

Ответить
Настройки темы
[решено] Определение последнего числа масяца

Аватара для TERMINAL

Ветеран


Сообщения: 753
Благодарности: 28

Профиль | Отправить PM | Цитировать


Добрый день !
Помогите определить последнее число текущего месяца, т.е. 31 или 30 или вообще 28-29.
Заранее спс.

-------
Автоматизация прежде всего....


Отправлено: 17:00, 13-04-2011

 

Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


не понятен вопрос
число дней в месяце постоянно каждый год, ну кроме февраля
так что switch+ проверка на високосный

Отправлено: 22:45, 13-04-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


TERMINAL,
Код: Выделить весь код
$iLastDay = _Last_Day_Month()
MsgBox(64, @error, $iLastDay)

Func _Last_Day_Month($i_Month = @MON, $i_Year = @YEAR)
    Local $a_LastDay[13] = [12, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], $i_LastDay
    $i_Month = Int($i_Month)
    $i_Year = Int($i_Year)
    If $i_Month < 1 Or $i_Month > 12 Or $i_Year < 0 Then Return SetError(1, 0, -1)
    $i_LastDay = $a_LastDay[$i_Month]
    If $i_Month = 2 Then
        If Not Mod($i_Year, 4) Then
            $i_LastDay += 1
        EndIf
    EndIf
    Return SetError(0, 0, $i_LastDay)
EndFunc   ;==>_Last_Day_Month

Последний раз редактировалось madmasles, 14-04-2011 в 03:03.


Отправлено: 23:37, 13-04-2011 | #3


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


madmasles,
А зачем велосипед изобретать, есть же _DateDaysInMonth, пример из справки:

Код: Выделить весь код
#include <Date.au3>

$iDays = _DateDaysInMonth( @YEAR,@MON )
MsgBox( 4096, "Days in Month", "This month has " & String( $iDays ) & " days in it." )

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:37, 14-04-2011 | #4


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
А зачем велосипед изобретать, есть же _DateDaysInMonth »
А в ней ограничение на год до 9999 года. Вдруг TERMINAL захочет узнать про 10000 год и дальше?

Я просто забыл про нее, когда-то ведь ее использовал... склероз.

Отправлено: 01:26, 14-04-2011 | #5


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата madmasles:
А в ней ограничение на год до 9999 года. Вдруг TERMINAL захочет узнать про 10000 год и дальше? »
К этому году уже будет перерасчёт календаря, и числа могут смещаться, т.ч ограничений никаких нет.

Цитата madmasles:
Я просто забыл про нее »
Ну обычно прежде чем написать какую то функцию, не помешает просмотреть список готовых функций на данную тему в справке (можно и в SciTE набрать _Date а дальше появится список доступных функций).

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 02:29, 14-04-2011 | #6


Аватара для TERMINAL

Ветеран


Сообщения: 753
Благодарности: 28

Профиль | Отправить PM | Цитировать


Цитата madmasles:
А в ней ограничение на год до 9999 года. Вдруг TERMINAL захочет узнать про 10000 год и дальше? »
)) Спасибо, но я столько не проживу, тем более что задача была поставлена на ТЕКУЩИЙ МЕСЯЦ.
Цитата Creat0R:
Ну обычно прежде чем написать какую то функцию, не помешает просмотреть список готовых функций на данную тему в справке (можно и в SciTE набрать _Date а дальше появится список доступных функций). »
Как бы это относится и ко мне, но потерял русское описание новой версии Autiit, которое раньше давал madmasles, поэтому после изобретений велосипедов и отсутствия данной функции в старой справке решил задать вопрос на форуме, которой будет полезен не только мне. Если не тяжело, дайте плз ссылочку на последнее русское описание. Всем спс.

-------
Автоматизация прежде всего....


Отправлено: 09:39, 14-04-2011 | #7


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Цитата TERMINAL:
потерял русское описание новой версии Autiit »
Если вы имеете в виду эту тему, то она самая первая закрепленная тема, только там нет описаний UDF функций.
Цитата TERMINAL:
но я столько не проживу »
Я тоже, но мне принципиально важно знать, в какой день недели, исходя из сегодняшнего исчисления, мои потомки будут праздновать мой день рождения в 12011 году.

Отправлено: 11:58, 14-04-2011 | #8


Аватара для TERMINAL

Ветеран


Сообщения: 753
Благодарности: 28

Профиль | Отправить PM | Цитировать


Цитата madmasles:
Если вы имеете в виду эту тему, то она самая первая закрепленная тема, только там нет описаний UDF функций. »
Не не эту тему имел ввиду, ну может будет свободное время то порыскаю в поисках самого описания и описаний UDF функций...

-------
Автоматизация прежде всего....


Отправлено: 19:27, 14-04-2011 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Определение последнего числа масяца

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - Столбец даты последнего открытия Analog Microsoft Windows 7 2 05-02-2011 14:12
V. 5.5/2000/2003 - [решено] Удаление последнего Exchange 2003 MaleyDarc Microsoft Exchange Server 2 06-10-2010 16:30
Delphi - Определение совершенного числа и сумма ряда? Movi Программирование и базы данных 2 06-05-2009 23:25
Время последнего визита на форум Ser6720 О сайте и форуме 5 17-09-2008 21:41
По поводу последнего OpenSUSE... Bren74 Общий по Linux 9 11-11-2006 14:08




 
Переход