powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужна прога расчета стажа
14 сообщений из 14, страница 1 из 1
Нужна прога расчета стажа
    #33139211
Larsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть "дата начала" и "дата окончания"
на выходе надо стаж ну например в формате
"ХХ лет ХХ месяцев ХХ дней" или чето в этом духе
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33139325
)))))))))))
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Larsenесть "дата начала" и "дата окончания"
на выходе надо стаж ну например в формате
"ХХ лет ХХ месяцев ХХ дней" или чето в этом духе



Блин , надо бы ветку для студентов специальную сделать
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33142930
Фотография msn13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
))))))))))) Larsenесть "дата начала" и "дата окончания"
на выходе надо стаж ну например в формате
"ХХ лет ХХ месяцев ХХ дней" или чето в этом духе



Блин , надо бы ветку для студентов специальную сделать
нужно специальные услуги вводить для студентов льготы
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33143870
Larsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
умный профессионал не упустит лишний раз потренироваться, а жмоты будут вставлять смайлики
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33143994
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Larsenумный профессионал не упустит лишний раз потренироваться, а жмоты будут вставлять смайлики

А ленивый студент лишний всегда найдет повод , чтобы не делать...

Завтра сделаю..тебе уломал... Придется сменить световой меч на клаву...
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33144401
Nikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim D1 As Date
Dim D2 As Date

D1 = "01.01.2005"
D2 = "02.06.2006"

MsgBox Year(D2) - Year(D1) & " лет " & Month(D2) - Month(D1) & " месяцев " & Day(D2) - Day(D1) & " дней"
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33144471
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikzDim D1 As Date
Dim D2 As Date

D1 = "01.01.2005"
D2 = "02.06.2006"

MsgBox Year(D2) - Year(D1) & " лет " & Month(D2) - Month(D1) & " месяцев " & Day(D2) - Day(D1) & " дней"
Ты учёл все дни, а нада рабочие :), Larsen , в енту формулу добавь (то бишь вычти) все праздники и выходные, а если работа сменная, то тоже не забудь.... И помни о трудовом законодательстве, не превышай кол-во час. в неделю, в месяц и т.п.
Вообщем Формула будет расти прямо пропорционально твоему обучению :)
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33144505
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джедай Степлер дело говорит , повозится придётся... , не так просто как кажется, а подован Nikz по ходу сам студент...

У меня щаз к сожалению нет времени, есть важные дела... Дроиды наступают, а мои клоны где то бухают всем батальоном - пошёл искать их ...
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33145952
Larsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я с этой хренью бьюсь уже неделю. налабал несколько алгоритмов, но каждый раз на какой-то фигне не работает (вернее работаем не правильно). Их специально не привожу, чтобы не засорять ваши светлые умы.
учитывать надо не рабочие, а именно все дни.
просто так
MsgBox Year(D2) - Year(D1) & " лет " & Month(D2) - Month(D1) & " месяцев " & Day(D2) - Day(D1) & " дней"
не сделаешь. т.к. D2 может быть меньше D1, такая же хрень с днями (ну например период с 31-12-1976 по 01-07-2005)
в общем, задача простая на первый взгляд совсем нетривиальная при реализации. Потому и обратился к коллективному разуму в надежде сообща решить задачу.
А потом ведь этот алгоритм останется в инете, мож кому еще сгодится
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33146125
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Larsenучитывать надо не рабочие, а именно все дни.


Набросал за 10 минут, тестировал только с одной датой (мой день рождения )
Вроде работает.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Public Function ExtDateDiff(d1 As Date, d2 As Date) As String
Dim lngYrs As Long
Dim lngMos As Long
Dim lngDys As Long
Dim dateTemp As Date

  If d1 > d2 Then
    dateTemp = d1
    d1 = d2
    d2 = dateTemp
  End If

  lngYrs = DateDiff("yyyy", d1, d2, vbUseSystemDayOfWeek, vbUseSystem)
  d1 = DateAdd("yyyy", lngYrs, d1)
  If d1 > d2 Then
    lngYrs = lngYrs -  1 
    d1 = DateAdd("yyyy", - 1 , d1)
  End If
  
  lngMos = DateDiff("m", d1, d2, vbUseSystemDayOfWeek, vbUseSystem)
  d1 = DateAdd("m", lngMos, d1)
  If d1 > d2 Then
    lngMos = lngMos -  1 
    d1 = DateAdd("m", - 1 , d1)
  End If
  
  lngDys = DateDiff("d", d1, d2, vbUseSystemDayOfWeek, vbUseSystem)
  
  ExtDateDiff = lngYrs & " год/года/лет " & _
                lngMos & " месяца/ев " & _
                lngDys & " дня/ей"
End Function

ЗЫ Параметры корежит. Так что только ByVal
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33146427
Larsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
за 10 минут всегда получается одноразовый результат!
полная лажа...
во-первых: стаж должен быть подчситан в виде "10 л. 3 м. 5 д."
во вторых
для варианта когда в меньшей дате месяч/число оказывается больше месяца/числа в большей дате вообще не тянет...
(например с 22-09-1970 по 01-07-2005 стаж должен быть 34г. 9м. 10д.)
кроме этого надо учитывать високосные годы...
короче, если серьезно, то за 10 минут не уложиться с прогой
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33146500
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Larsenза 10 минут всегда получается одноразовый результат!
полная лажа...
во-первых: стаж должен быть подчситан в виде "10 л. 3 м. 5 д."
во вторых
для варианта когда в меньшей дате месяч/число оказывается больше месяца/числа в большей дате вообще не тянет...
(например с 22-09-1970 по 01-07-2005 стаж должен быть 34г. 9м. 10д.)
кроме этого надо учитывать високосные годы...
короче, если серьезно, то за 10 минут не уложиться с прогой
Ну если лажа, значит лажа.
В большей дате вообще не тянет - Вы код посмотрели? Или запустили?
Хотя, функция дала результат
Код: plaintext
1.
2.
? ExtDateDiff("1970.09.22","2005-07-01")
34 год/года/лет 9 месяца/ев 9 дня/ей
Должно быть 10 дней, да? Ну так поправьте.
IIRC високосные годы функция DateDiff учитывает.
Короче, если серьезно, то я предложил идею. Если Вам требуется готовая программа, обращайтесь в форум Работа и заказывайте полную реализацию.
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33146657
Eternal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Larsenза 10 минут всегда получается одноразовый результат!
полная лажа...
во-первых: стаж должен быть подчситан в виде "10 л. 3 м. 5 д."
во вторых
для варианта когда в меньшей дате месяч/число оказывается больше месяца/числа в большей дате вообще не тянет...
(например с 22-09-1970 по 01-07-2005 стаж должен быть 34г. 9м. 10д.)
кроме этого надо учитывать високосные годы...
короче, если серьезно, то за 10 минут не уложиться с прогой

Ты чо баклан , ох*ел что ли? Тебе человек писал писал ... Пусть неверно А ты лажа... И ни одного слова "Спасибо" или намёка... ИМХО двойное! Ему это не нравится, это не нравится... Сказали же тебе по РУССКИ , что то не так просто это как кажется... Может ты еще ТЗ тут выложишь , и вся ветка тебе прогу писнет с хелпом и докой... А потом забьют стрелку и вместе с тобой к юзерам ломанутся ..

З.Ы. По вежливей надо бы быть , а то пальцы веером - стряпайте ему алгоритм
...
...
Рейтинг: 0 / 0
Нужна прога расчета стажа
    #33146660
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри за оффтоп...
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужна прога расчета стажа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]