powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как получить и отформатировать разницу двух дат в VBScript
25 сообщений из 52, страница 1 из 3
Как получить и отформатировать разницу двух дат в VBScript
    #37810623
Човайохоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите получить и отформатировать разницу двух дат в VBScript

Например, от 24.05.2012 отнять 11.04.2009 и результат вывести в таком виде:
3 года, 1 месяц, 13 дней
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37810688
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 05/24/2012 10:04 PM, Човайохоя wrote:
> Автор: Човайохоя
> Помогите получить и отформатировать разницу двух дат в VBScript
>
> Например, от 24.05.2012 отнять 11.04.2009 и результат вывести в таком виде:
> 3 года, 1 месяц, 13 дней
Недавно мусолили ...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37810761
Човайохоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_Soft,

зачем мне на C++ ?
Я уже делал это на Delphi как раз 11.04.2009.
Хочу сразу на VBScript. Наверняка есть готовое.
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811144
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Човайохоязачем мне на C++ ?
/me думает: я так и думал...
Ну... Если Вы, таки, удосужились, хотя бы по диагонали, ознакомиться с вышеуказанным тынцьем, то поняли бы, что главная проблема не в реализации на уже конкретном языке, а в алгоритме.
ЧовайохояЯ уже делал это на Delphi как раз 11.04.2009.

Ну и какая же тогда у Вас разница между:
- 05.03.2011 и 01.02.2011
- 05.03.2012 и 01.02.2012
?
ЧовайохояНаверняка есть готовое.
В свете выше сказанного - наврядли, IMHO... Или же будет нечто усредненное а-ля Борманского:
Код: javascript
1.
2.
3.
4.
function MonthSpan(ANow,AThen)
{
	return(DaySpan(ANow,AThen)/30.4375 /* ApproxDaysPerMonth */);
}
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811236
Човайохоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, что откликнулись.

про проблему с високосными годами позабыл :)
ну мне большая точность ни к чему, для себя делаю.

Пробую свой код из Delphi перевести на VBScript. Алгоритм очень простой, но не получается. Может поможете ?
вот код на Delphi
Код: pascal
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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
type
  TValueRelationship = -1..1;

function GetTimeDelta(BeginDate, EndDate: TDateTime;
  var Years, Months, Days: DWORD): TValueRelationship;
var
  Date1, Date2, TempDate : TDate;
begin
  Result := CompareDate(BeginDate, EndDate);
  if Result > 0 then
  begin
    Date1 := EndDate;
    Date2 := BeginDate;
  end
  else 
  begin
    Date1 := BeginDate;
    Date2 := EndDate;
  end;

  Years := 0;
  repeat
      Inc(Years);
      TempDate := Date1;
      Date1 := IncYear(Date1);
  until CompareDate(Date1, Date2) > 0;
  Dec(Years);
  Date1 := TempDate;

  Months := 0;
  repeat
      Inc(Months);
      TempDate := Date1;
      Date1 := IncMonth(Date1);
  until CompareDate(Date1, Date2) > 0;
  Dec(Months);
  Date1 := TempDate;

  Days := 0;
  repeat
      Inc(Days);
      TempDate := Date1;
      Date1 := IncDay(Date1);
  until CompareDate(Date1, Date2) > 0;
  Dec(Days);
end;


вот, что получилось на VBScript (пробовал по разному, это текущая нерабочая версия)
Код: vbnet
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.
33.
Function GetExpires(A, B)
Dim Y, M, D
Dim C

  If A >= B Then
    GetExpires = "Истек"
	Exit Function
  End If
  
  C = A
  Y = 0
  Do While Year(C) < Year(B)
    C = DateAdd("yyyy", 1, C)
    Y = Y + 1
  Loop 
  
  C = A
  M = 0
  Do While Month(C) < Month(B)
    C = DateAdd("m", 1, C)
    M = M + 1
  Loop 
  
  C = A
  D = 0
  Do While Day(C) < Day(B)
    C = DateAdd("d", 1, C)
    D = D + 1
  Loop

  
  GetExpires = Y & " г. " & M & " м. " & D & " д. " 
End Function


...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811275
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
2.
3.
4.
5.
6.
<html>
<script type="text/javascript">
	var dd=new Date(new Date(2012,04,24).getTime() - new Date(2009,03,11).getTime());
	alert(dd.getFullYear()-1970+" года "+dd.getMonth()+" месяцев "+dd.getDate()+" дней");
</script>
</html>


ПС. Месяц всегда на единицу меньше. Поетому пишем Date(2012,04,24), а не Date(2012,05,24). А уж склонение по падежам - совсем другое дело.
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811326
Човайохоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge,

javascript не подойдет, т.к. вычисления происходят на сервере и уже используется VBScript.

ShSerge
Код: javascript
1.
...alert(dd.getFullYear()-1970+" года...


Не подскажите в VBScript Date с какой даты начинается отсчет ?
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811347
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Човайохояjavascript не подойдет, т.к. вычисления происходят на сервере и уже используется VBScript
language="javascript" ?
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811363
Човайохоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_SoftЧовайохояjavascript не подойдет, т.к. вычисления происходят на сервере и уже используется VBScript
language="javascript" ?У меня странички на ASP - там вроде нельзя два разных языка использовать ?
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811379
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Човайохоятам вроде нельзя два разных языка использовать ?
Кто Вам это сказал? Фамилия?
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811519
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ex_SoftЧовайохоятам вроде нельзя два разных языка использовать ?
Кто Вам это сказал? Фамилия?
Да и переписать две строчки с яваскрипта на вбскрипте не особо-то тяжело.
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811528
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ах, да. Забыл сказать, что нолик впереди не надо писать, а то циферки будут восприняты, как восьмеричные, что в данном конкретном случае - пофигу.
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811563
Човайохоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_SoftЧовайохоятам вроде нельзя два разных языка использовать ?
Кто Вам это сказал? Фамилия?В любом случае я этой херней заниматься не собираюсь (каждый раз в цикле переключать язык)
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811565
Човайохоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergeEx_Softпропущено...

Кто Вам это сказал? Фамилия?
Да и переписать две строчки с яваскрипта на вбскрипте не особо-то тяжело.я для этого и спросил авторНе подскажите в VBScript Date с какой даты начинается отсчет ?
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811610
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Човайохоя,

А не посмотреть, что с дптой, которая нолик?
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811732
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Човайохоякаждый раз в цикле переключать язык
Гы... И как это Вы себе представляете: васиковский цикл с JS'овскими внутренностями?
Круть...
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811749
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Човайохоякаждый раз в цикле переключать языкЯзык задается либо глобально по умолчанию для всего сайта, либо для конкретного asp-файла.
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811759
Човайохоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_SoftЧовайохоякаждый раз в цикле переключать язык
Гы... И как это Вы себе представляете: васиковский цикл с JS'овскими внутренностями?
Круть...
а помоему вы это сами советовали
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811763
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЯзык задается либо глобально по умолчанию для всего сайта, либо для конкретного asp-файла.
Доступа к телу сейчас, с сожалению, нет, но в одно время мне достался проект где внутри одного ASP-файла, каж-ся, был и васик и JS.
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811765
Човайохоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_SoftЧовайохоятам вроде нельзя два разных языка использовать ?
Кто Вам это сказал? Фамилия?

AntonariyЧовайохоякаждый раз в цикле переключать языкЯзык задается либо глобально по умолчанию для всего сайта, либо для конкретного asp-файла.
как Ваша фамилия ?
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811777
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Човайохоя,

Да переведите Вы нафиг, что я написал на яваскрипте в вбскрипт. Делов-то. Что мне этим заняться? На несколько минут работы!
ПС. Не умею я писать на вбскрипте. Но, если надо, напишу.
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811781
Човайохоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
шутка. посмотрите лучше ошибки в скрипте 12613772 пожалуйста
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811818
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЯзык задается либо глобально по умолчанию для всего сайта, либо для конкретного asp-файла.
Да - беру свои слова обратно:
http://www.w3schools.com/asp/asp_syntax.asp Using JavaScript in ASP

To set JavaScript as the default scripting language for a particular page you must insert a language specification at the top of the page...

Был винегрет страниц на васике и JS'е, но не внутри страниц...
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811915
Човайохоя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergeЧовайохоя,

Да переведите Вы нафиг, что я написал на яваскрипте в вбскрипт. Делов-то. Что мне этим заняться? На несколько минут работы!
ПС. Не умею я писать на вбскрипте. Но, если надо, напишу.А зачем тогда зашли сюда ? в теме же написано VBScript. На нотации потратили времени больше, чем несколько минут.

Я начал гуглить, экспириментировать с переключением языка, гадаю куда директиву вставлять.
Не доверяю я больше тому, что Вы написали
...
Рейтинг: 0 / 0
Как получить и отформатировать разницу двух дат в VBScript
    #37811953
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Човайохоя,

На "слабò" не ведусь.
...
Рейтинг: 0 / 0
25 сообщений из 52, страница 1 из 3
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как получить и отформатировать разницу двух дат в VBScript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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