|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | 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;
} | 
| 
			 
			#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, в поисках чего-либо подходящего. | 
| 
			 
			#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, Вот и меня это смущает, но пока оставлю как есть. | 
| 
			 
			#6  
			
			
			
			
		 | ||||
| 
 | ||||
|   JavaScript ещё та фигня, код после перевода значительно уменьшился и данная функция вообще оказалась не нужна. |