|
|
|
Как определить высокосный год | ☑ | ||
|---|---|---|---|---|
|
0
Learn_
23.10.09
✎
13:46
|
Пишу отчет. В нем есть переменная ДнейВГоду
Надо чтоб она была = 365, а в высокосный год =366 Хелп плиз |
|||
|
1
tsr
23.10.09
✎
13:46
|
год%4
|
|||
|
2
Learn_
23.10.09
✎
13:49
|
это типа год делить на 4 и проверять целое ли число?
Цел (Число) - берет целую часть от числа. А как проверить целое или нет ? |
|||
|
3
Живой Ископаемый
23.10.09
✎
13:50
|
2(1) не ври
|
|||
|
4
Альберт_Уфа
23.10.09
✎
13:50
|
(2) а в чем проблема посчитать количество дней?
|
|||
|
5
Альберт_Уфа
23.10.09
✎
13:51
|
01.01.год - 31.12.год = количество дней.
ну придется еще с секундами заморочиться, но результат будет верным |
|||
|
6
Живой Ископаемый
23.10.09
✎
13:51
|
Возврат ДеньГода(КонецГода(ТвояДата)) - если 366 - високосный...
|
|||
|
7
Альберт_Уфа
23.10.09
✎
13:51
|
(5) наоборот. 31.12.год-01.01.год
|
|||
|
8
also
23.10.09
✎
13:51
|
Если ДеньГода(КонецГода(ТекущаяДата())) = 356 ТОгда
Сообщить("Ура высокосный"); |
|||
|
9
XLife
23.10.09
✎
13:52
|
(6)(8) господа с разных планет?
|
|||
|
10
Альберт_Уфа
23.10.09
✎
13:52
|
Абалдеть. а я и забыл про ДеньГода. :)
|
|||
|
11
Pitbull-1С
23.10.09
✎
13:52
|
Есл Цел(Год/4) = Год/4 Тогда
Сообщить("Этот год високосный"); КонецЕсли; |
|||
|
12
Aprobator
23.10.09
✎
13:52
|
о начинается конкурс на самое оригинальное решение )
|
|||
|
13
also
23.10.09
✎
13:52
|
+(8) Блин 366
|
|||
|
14
Живой Ископаемый
23.10.09
✎
13:52
|
Либо если он без остатка делится на 4 и (он/100) без остатка делится на четыре - тогда високосный... например 2000 - високосный, 2100 - не високосный
|
|||
|
15
Живой Ископаемый
23.10.09
✎
13:55
|
2(11) зачем врешь?!
|
|||
|
16
Learn_
23.10.09
✎
13:55
|
всем спасибо, буду пробовать ))
|
|||
|
17
Живой Ископаемый
23.10.09
✎
13:57
|
2(11) 1900 год - високосный?
|
|||
|
18
Aprobator
23.10.09
✎
13:57
|
(15) а сам? 2100/4=525
|
|||
|
19
Learn_
23.10.09
✎
13:59
|
(18) хм... точно, значит на 4 делить нельзя О_о
|
|||
|
20
Живой Ископаемый
23.10.09
✎
13:59
|
2(18) и что? 21/4=5.2 - значит 2100 - не високосный
|
|||
|
21
Живой Ископаемый
23.10.09
✎
14:00
|
2(19) а кто сказал что можно? Если бы я сказал дели на 11 - если без остатка - то високсный - ты бы мне поверил? Почему нет?
|
|||
|
22
ktif
23.10.09
✎
14:01
|
хм, а вы действительно верите, что отчет будет пользоваться и в 2100-м году?:) Просто спросил...
|
|||
|
23
tsr
23.10.09
✎
14:01
|
(8) прав (1) не прав
|
|||
|
24
acsent
23.10.09
✎
14:01
|
год является високосным, если он кратен 4 и при этом не кратен 100, либо кратен 400
|
|||
|
25
Живой Ископаемый
23.10.09
✎
14:02
|
2(22) Отчет может расчитывать что-то, что будет происходить в 2100-м году
|
|||
|
26
Pitbull-1С
23.10.09
✎
14:02
|
Есл Цел(Год/4) = Год/4 И Не Цел(Год/100) = Год/4 Тогда
Сообщить("Этот год високосный"); ИначеЕсли Цел(Год/4) = Год/4 И Цел(Год/100) = Год/100 Сообщить("Этот год високосный"); Иначе Сообщить("Этот год не високосный"); КонецЕсли; |
|||
|
27
Pitbull-1С
23.10.09
✎
14:02
|
Если Цел(Год/4) = Год/4 И Не Цел(Год/100) = Год/4 Тогда
Сообщить("Этот год високосный"); ИначеЕсли Цел(Год/4) = Год/4 И Цел(Год/100) = Год/100 Сообщить("Этот год високосный"); Иначе Сообщить("Этот год не високосный"); КонецЕсли; |
|||
|
28
acsent
23.10.09
✎
14:02
|
Вместо
Цел(Год/4) = Год/4 лучше Год%4 = 0 |
|||
|
29
also
23.10.09
✎
14:03
|
(26) По-моему (8) проще :)
|
|||
|
30
Pitbull-1С
23.10.09
✎
14:04
|
Блин вот
Если (Год%4 = 0 И Не Год%100 = 0) ИЛИ (Год%100 = 0 И Год%400 = 0) Тогда Сообщить("Этот год високосный"); КонецЕсли; |
|||
|
31
tsr
23.10.09
✎
14:04
|
(28) Не правильно так. Например 1900 год не високосный
|
|||
|
32
Pitbull-1С
23.10.09
✎
14:05
|
(29) согласен
|
|||
|
33
Мутабор
23.10.09
✎
14:05
|
Высокосный = 1
Попытка Дата29 = Дата(Год, 2, 29) Исключение Высокосный = 0 КонецПопытки Фигня конечно, но при остальной полной фигни и это фигня прокатит. |
|||
|
34
Aprobator
23.10.09
✎
14:06
|
|
|||
|
35
zbv
23.10.09
✎
14:06
|
(33) млиин, украл мою фигню.. ))
|
|||
|
36
supremum
23.10.09
✎
14:06
|
(29) и самый правильный
|
|||
|
37
also
23.10.09
✎
14:07
|
Вот развели то... )))
|
|||
|
38
Aprobator
23.10.09
✎
14:07
|
ну дык пятницо - понеслось )))
|
|||
|
39
Murzz
23.10.09
✎
14:08
|
ВЫБРАТЬ
ВЫБОР КОГДА РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&дата, ГОД), КОНЕЦПЕРИОДА(&дата, ГОД), ДЕНЬ) = 364 ТОГДА "Не високосный" ИНАЧЕ "Високосный" КОНЕЦ КАК Поле1 |
|||
|
40
Aprobator
23.10.09
✎
14:09
|
понеслось то 356 дней в (8) теперь 364, какие еще года есть?
|
|||
|
41
Aprobator
23.10.09
✎
14:09
|
я понимаю что пятницо, но так набухаться уже в час дня!!!
|
|||
|
42
zbv
23.10.09
✎
14:10
|
+(35) тогда вот:
Если День(Дата("20080301") - 1) = 29 Тогда Сообщить("Год високосный"); иначе Сообщить("Год не високосный"); КонецЕсли; |
|||
|
43
Murzz
23.10.09
✎
14:10
|
(39) параметр дата - любая дата в исследуемом году
|
|||
|
44
Ненавижу 1С
гуру
23.10.09
✎
14:10
|
еще можно получить 1 марта того года и отнять день и посмотреть какой получится
))) |
|||
|
45
Learn_
23.10.09
✎
14:10
|
почему тогда не учтено что после 2012г вообще будет по другому каледарю ? ))
|
|||
|
46
also
23.10.09
✎
14:11
|
(44) :))
|
|||
|
47
also
23.10.09
✎
14:11
|
(40)в (39) все правильно
|
|||
|
48
Aprobator
23.10.09
✎
14:12
|
ГодВисокосный = ДеньГода(КонецГода(ПроверяемаяДата)) = 366
(47) а ну да - немного недосмотрел ))) Честное слово трезвый!!! |
|||
|
49
tsr
23.10.09
✎
14:12
|
(45) Учтено в (1)
|
|||
|
50
tyrm
23.10.09
✎
14:15
|
в промежутке 2097-2103 вообще нет высокосного года
|
|||
|
51
hhhh
23.10.09
✎
14:17
|
(50) надеюсь, ты не слишком расстроился? И вообще, високосный год - это зло.
|
|||
|
52
Lisenok
23.10.09
✎
14:20
|
ДнейГод = ДеньГода(КонецГода(Дата))
|
|||
|
53
Живой Ископаемый
23.10.09
✎
14:21
|
2(45) для другого календаря - другие правила.. для этого - такие
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |