![]() |
![]() |
![]() |
|
Дата + 18 Лет | ☑ | ||
---|---|---|---|---|
0
yurikmurmansk
18.11.08
✎
11:37
|
Что то не получается никак к дате добавить 18 лет. Подскажите как попроще, а то я уже через временные таблицы делать начинаю.
|
|||
1
Immortal
18.11.08
✎
11:39
|
+ 86400*365*18
|
|||
2
Fragster
гуру
18.11.08
✎
11:39
|
мля.... разбери на день/месяц/год, прибавь к году 18, собери обратно... хоть через прарсинг строки, хоть как...
|
|||
3
Fragster
гуру
18.11.08
✎
11:39
|
(1) а високосные года учел?
|
|||
4
Долорес И
18.11.08
✎
11:39
|
Например, так: Дата(Год(Дата0)+18,Месяц(Дата0),День(Дата0))
|
|||
5
Immortal
18.11.08
✎
11:40
|
(3) на универсальность не претендую-)
|
|||
6
Живой Ископаемый
18.11.08
✎
11:40
|
(1,2) Хы... И получится что у человека через 18 лет Д.Р. будет не в тот день, который он родился... :)
|
|||
7
Михей
18.11.08
✎
11:40
|
ДобавитьМесяц(ДатаТвоя, 12*18)
|
|||
8
Живой Ископаемый
18.11.08
✎
11:41
|
(7) Молодец, думаю так правильно...
|
|||
9
Fragster
гуру
18.11.08
✎
11:42
|
(6) чО-та ты тупишь... в (2) все нормально - как в (4)
|
|||
10
Stepa86
18.11.08
✎
11:43
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ДОБАВИТЬКДАТЕ(&ИсходнаяДата, Год, &Количество) как Дата"; Запрос.УстановитьПараметр("ИсходнаяДата", пИсхДата); Запрос.УстановитьПараметр("Количество", пКоличество); Возврат Запрос.Выполнить().Выгрузить()[0].Дата; |
|||
11
Живой Ископаемый
18.11.08
✎
11:44
|
(9) В (4) правильно, в (2) нет.. Проверь на своем Д.Р...
И прекрати фамильярничать. |
|||
12
YauheniL
18.11.08
✎
11:45
|
(0) Тоже вариант
ДобавитьМесяц(Дата, 12*18) |
|||
13
Serg_1960
18.11.08
✎
11:46
|
Если учесть слова автора "...а то я уже через временные таблицы делать начинаю" - то Стёпе за (10) - пять с плюсом :)
|
|||
14
Живой Ископаемый
18.11.08
✎
11:46
|
+(11) отстатвить, все правильно у тебя, но фамильярничать прекрати, а то в угол поставлю...
|
|||
15
Fragster
гуру
18.11.08
✎
11:46
|
(11) чем (4) отличается от «разбери на день/месяц/год, прибавь к году 18, собери обратно»?
|
|||
16
Fragster
гуру
18.11.08
✎
11:47
|
(14) вот по этому и «фамильярничаю», что правильно ;)
|
|||
17
Живой Ископаемый
18.11.08
✎
11:47
|
(15) Тем, что я не разбул с глазиков ботиночки и подумал что речь о (1)...
|
|||
18
Serg_1960
18.11.08
✎
11:49
|
Ну вот, началось :( И забыли все о тех, кто родился в високосный день :))
|
|||
19
yurikmurmansk
18.11.08
✎
11:50
|
Всем спасибо. Сделал по (7). Работает четко.
|
|||
20
Immortal
18.11.08
✎
11:52
|
(18) что, у тебя ДР 29 февраля?
|
|||
21
Fragster
гуру
18.11.08
✎
11:52
|
(19) кстати, если не влом, проверь, что быстрее - (7), или (4)
|
|||
22
Stepa86
18.11.08
✎
11:53
|
+(21) и (10) тоже =) хотя бы а правильность
|
|||
23
Serg_1960
18.11.08
✎
11:54
|
(19) Не, не у меня, - у старшего брата :)
|
|||
24
Stepa86
18.11.08
✎
11:54
|
а то я ж взял идею из "простых примеров разработки"
Как прибавить к дате день, месяц? СледующийДень = ТекущаяДата() + 60 * 60 * 24; ДобавитьМесяц(Дата(2005, 1, 31), 1) ДобавитьМесяц(Дата(2005, 2, 28), -1) КонецМесяца(ДобавитьМесяц(Дата(2005, 2, 28), -1)) ФункцияПолучитьДень(ИсходнаяДата, КоличествоПрибавляемыхДней) Запрос = НовыйЗапрос(" |ВЫБРАТЬ | ДОБАВИТЬКДАТЕ(&ИсходнаяДата, ДЕНЬ, &Количество) как Дата"; Запрос.УстановитьПараметр("ИсходнаяДата", ИсходнаяДата); Запрос.УстановитьПараметр("Количество", КоличествоПрибавляемыхДней); ВозвратЗапрос.Выполнить().Выгрузить()[0].Дата; КонецФункции |
|||
25
Immortal
18.11.08
✎
11:56
|
(23) абалдеть. Вот повезло человеку ,)
|
|||
26
Serg_1960
18.11.08
✎
11:59
|
(25) Мне тоже повезло - родился в Старый Новый год. Так батя, - чёрт хитрый, упросил в метрике другую дату поставить :)
|
|||
27
Живой Ископаемый
18.11.08
✎
12:00
|
2(21) 4 не может преобразовать Сообщить(""+Дата((Год(Дата1)+18),Месяц(Дата1),День(Дата1))); при условии что Дата1=29.02.2005,
а (7) - может.. так что быстрее-медленнее... |
|||
28
Fragster
гуру
18.11.08
✎
12:01
|
(27) а что (7) в таком случае возвращает?
|
|||
29
Живой Ископаемый
18.11.08
✎
12:03
|
Так как я использовал только дату, то есть время было 0 часов 0 минут, то есть первая половина дня, то оно мне вернуло 28 февраля...
|
|||
30
Fragster
гуру
18.11.08
✎
12:04
|
(29) а если 4*12 добавить, то?
(0) не для военкомата конфу ли рисуешь, автор? |
|||
31
noxxx
18.11.08
✎
12:09
|
(27) В 2005 году в феврале 28 дней
|
|||
32
Живой Ископаемый
18.11.08
✎
12:10
|
||||
33
Живой Ископаемый
18.11.08
✎
12:11
|
(31) промазал, имел в виду 29.02.2004
|
|||
34
Serg_1960
18.11.08
✎
12:11
|
Кстати это интересно: существуют ли правила переноса високосного дня?
Для переноса дат старого и нового стиля - такие правила есть: По старому стилю По новому стилю 29 февраля 1700 года - 11 марта 1700 года 29 февраля 1800 года - 12 марта 1800 года 29 февраля 1900 года - 13 марта 1900 года Источник: Википедия |
|||
35
nexxx
18.11.08
✎
12:11
|
Для выяснения применимости поступившего предложения - естественно, нанимайте специалиста независимого. На 6-8 месяцев. (Рекомендую из конторы Эрнст и Янг. В последнее время - об этой конторе у мну, по опыту, складываеццо очень хорошее впечатление. ПрайсВатерхаузКуперз - не рекомендую /Хотя, пару лет назад порекомендовал бы./)
Для поиска вышеуказанного специалиста (а, возможно, и для его хедхантерской обработки) - нанимайте другого сильного специалиста. Обоим этим московским специалистам, на период проживания в вашем городе, - оплачивайте бонусы, социал, квартиры, транспортные по выходным домой в Москву и обратно. И всё у вас получится! ЗЫ: Знаю много сильных проектов, которые пользуясь вот такими моими нехитрыми советами, успешно реализовали Мега-Проекты (довели Проекты до логического завершения, все стороны остались удовлетворены результатами, даже владельцы бизнеса). Люди реально сэкономили себе ГОДЫ времени и МИЛЛИОНЫ долларов денег, удосужившись нанять на первоначальном этапе двух вышеуказанных специалистов. |
|||
36
Fragster
гуру
18.11.08
✎
12:12
|
(32) в цикле на миллион, пожалуйста, а то погрешность большая ;)
|
|||
37
noxxx
18.11.08
✎
12:13
|
(35) - это точно сюда?
|
|||
38
Sorg_1960
18.11.08
✎
12:14
|
(14): УПС....
А я уж тут набил большой постинг с контактами Пуделя и СунШина, но что-то долго таймаут проходил... Случайно обновил ветку... ОК. Сижу на попе ровно. Мну и тут неплохо кормят. "Идиоты не станут платить такие вознаграждения" - За "идиотов" - простите, если обидел. Но это фраза из Ильфа и Петрова (не более и не менее). Фраза, идеально подходящая в контекст моего постинга. И для всех, знакомых с первоисточником, абсолютно необидная фраза. |
|||
39
elisem
18.11.08
✎
12:14
|
(34) я правильно понимаю, что на 2000 году еще один день никто не прибавил?
|
|||
40
Fragster
гуру
18.11.08
✎
12:14
|
кто-то тут под юзеров маскируется... нех, теперь сорж..
|
|||
41
Живой Ископаемый
18.11.08
✎
12:20
|
10 тыщ с тебя хватит:
http://docs.google.com/Doc?id=df8g2nxh_152drdwgng6 |
|||
42
etisem
18.11.08
✎
12:22
|
Организация занимается торговлей (опт и розница). Поступило предложение организовать учет так, чтобы и торговля и бухгалтерия и зар.плата и управленческий учет все было в одной программе.Да еще с возможностью вести несколько организаций вместе.
Из опыта работы с УПП, что подскажете? Не запаримся ли мы с большим объемом в одном месте, какие проблемы возникают в связи с этим? |
|||
43
Serg_1960
18.11.08
✎
13:05
|
(39) Следующий перевод даты "ожидается" 29 февраля 2100. А вот что было в 2000 - не помню :(
|
|||
44
Fragster
гуру
18.11.08
✎
13:07
|
(41) ну, по крайней мере, понятно, что работает с одной скоростью, причем, может и принцип одинаковый :) ... а что там за «Ж»? ;)
|
|||
45
Serg_1960
18.11.08
✎
13:08
|
Вот что пишет С.С.Куликов: про разницу в днях: "Ранее она была меньше и возрастала от нуля в III в. на единицу в каждом следующем «сотом» году, кроме годов 400, 800, 1200, 1600, - в этих годах разница не увеличивается. Не увелилась она и в 2000 г." Источник: статья http://crydee.sai.msu.ru/Universe_and_us/4num/v4pap13.htm
|
|||
46
Живой Ископаемый
18.11.08
✎
13:16
|
(43) nj же, что и в 1600 - первые две цифры делятся на 4...
|
|||
47
Serg_1960
18.11.08
✎
13:33
|
Есть такое правило: "перенос даты на предыдущий день"?
Сорри, автор, я на себя одеяло стянул :) - но работая с датами, складывая и отнимая, - можно получить не существующую дату (например 31 число для месяца в котором 30 дней). |
|||
48
hulio_ekb
18.11.08
✎
13:41
|
(0) А ДобавитьМесяц(Дата, 18*12) не катит?
|
|||
49
Serg_1960
18.11.08
✎
13:43
|
(48) См. (7), (12) и последующие обсуждение :)
|
|||
50
Долорес И
18.11.08
✎
13:45
|
а чо ДобавитьМесяц(Дата, 18*12) никто не предложит?
|
|||
51
hulio_ekb
18.11.08
✎
13:46
|
(49) Сорри, не увидел сразу :))
|
|||
52
YauheniL
18.11.08
✎
13:46
|
(50) влом
|
|||
53
PR
18.11.08
✎
13:49
|
Ответ в (7), а столько хрени написали :o)
|
|||
54
Serg_1960
18.11.08
✎
14:01
|
(53) Присоединяйся :)) "без хрени" напиши: 29.02.2004(8) + 18 лет это будет...
|
|||
55
PR
18.11.08
✎
16:35
|
(54) 28.02.2022
Еще раз, ответ в (7). |
|||
56
gr13
18.11.08
✎
16:40
|
(55) +1
а почему так нельзя? ФункцияПолучитьДень(ИсходнаяДата, КоличествоПрибавляемыхДней) ИсходнаяДата = Дата(2008, 11, 18); Запрос = НовыйЗапрос(" |ВЫБРАТЬ | ДОБАВИТЬКДАТЕ(&ИсходнаяДата, Год, &Количество) как Дата"; Запрос.УстановитьПараметр("ИсходнаяДата", ИсходнаяДата); Запрос.УстановитьПараметр("Количество", 18); ВозвратЗапрос.Выполнить().Выгрузить()[0].Дата; КонецФункции |
|||
57
PR
18.11.08
✎
16:45
|
(56) Потому что так сложнее :))
|
|||
58
gr13
18.11.08
✎
16:46
|
(57) согласен))) просто в 24 еще сложнее)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |