|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
JavaScript и Дельфи
Имеется код на JavaScript-е. Никак не могу сообразить как его перегнать в Дельфи - помогайте.
Код:
function GetLastSunday(year, month) { var day = new Date(); day.setFullYear(year, month, 31); day.setHours(2,0,0,0); var daysunday = day.getDate() - day.getDay(); day.setDate(daysunday); return day; } Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#2
|
||||
|
||||
Если я правильно понял, то функция должна вернуть последнее воскресенье месяца в заданном году, как дату?
Тогда так можно: Код:
function GetLastSunday(Year: Integer; Month: Integer): TDate; begin try Result := EncodeDayOfWeekInMonth(Year, Month, 5, 7); except Result := EncodeDayOfWeekInMonth(Year, Month, 4, 7); end; end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
angvelem (23.11.2013)
|
#3
|
||||
|
||||
Спасибо, а то уже замучился шерстить DateUtils, в поисках чего-либо подходящего.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#4
|
||||
|
||||
Цитата:
Код:
function GetLastSunday(year, month: Integer): TDateTime; begin Result := IncMonth(EncodeDate(year, month, 1)); // Вычисляем дату первого числа следующего месяца Result := Result - DayOfTheWeek(Result); // и отнимаем от него номер дня недели на которое оно приходится end; p.s. Единственно смущает непонятная строка "day.setHours(2,0,0,0);" в исходнике на JavaScript. |
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
angvelem (23.11.2013)
|
#5
|
||||
|
||||
Пришлось переключиться на Chrome, Explorer отказался открывать тему.
to poli-smen, Вот и меня это смущает, но пока оставлю как есть. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#6
|
||||
|
||||
JavaScript ещё та фигня, код после перевода значительно уменьшился и данная функция вообще оказалась не нужна.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |