Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужна прога расчета стажа / 14 сообщений из 14, страница 1 из 1
28.06.2005, 21:05:22
    #33139211
Larsen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна прога расчета стажа
есть "дата начала" и "дата окончания"
на выходе надо стаж ну например в формате
"ХХ лет ХХ месяцев ХХ дней" или чето в этом духе
...
Рейтинг: 0 / 0
28.06.2005, 23:55:27
    #33139325
)))))))))))
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна прога расчета стажа
Larsenесть "дата начала" и "дата окончания"
на выходе надо стаж ну например в формате
"ХХ лет ХХ месяцев ХХ дней" или чето в этом духе



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



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

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

Завтра сделаю..тебе уломал... Придется сменить световой меч на клаву...
...
Рейтинг: 0 / 0
01.07.2005, 10:39:26
    #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
01.07.2005, 11:02:39
    #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
01.07.2005, 11:11:48
    #33144505
# Darth Vader #
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна прога расчета стажа
Джедай Степлер дело говорит , повозится придётся... , не так просто как кажется, а подован Nikz по ходу сам студент...

У меня щаз к сожалению нет времени, есть важные дела... Дроиды наступают, а мои клоны где то бухают всем батальоном - пошёл искать их ...
...
Рейтинг: 0 / 0
01.07.2005, 19:10:36
    #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
01.07.2005, 21:51:53
    #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
02.07.2005, 16:56:09
    #33146427
Larsen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна прога расчета стажа
за 10 минут всегда получается одноразовый результат!
полная лажа...
во-первых: стаж должен быть подчситан в виде "10 л. 3 м. 5 д."
во вторых
для варианта когда в меньшей дате месяч/число оказывается больше месяца/числа в большей дате вообще не тянет...
(например с 22-09-1970 по 01-07-2005 стаж должен быть 34г. 9м. 10д.)
кроме этого надо учитывать високосные годы...
короче, если серьезно, то за 10 минут не уложиться с прогой
...
Рейтинг: 0 / 0
02.07.2005, 19:25:46
    #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
02.07.2005, 22:54:10
    #33146657
Eternal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна прога расчета стажа
Larsenза 10 минут всегда получается одноразовый результат!
полная лажа...
во-первых: стаж должен быть подчситан в виде "10 л. 3 м. 5 д."
во вторых
для варианта когда в меньшей дате месяч/число оказывается больше месяца/числа в большей дате вообще не тянет...
(например с 22-09-1970 по 01-07-2005 стаж должен быть 34г. 9м. 10д.)
кроме этого надо учитывать високосные годы...
короче, если серьезно, то за 10 минут не уложиться с прогой

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

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


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