Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Разница между двумя датами - в любых юнитах (http://www.flasher.ru/forum/showthread.php?t=114125)

DISconnected 18.07.2008 19:54

Разница между двумя датами - в любых юнитах
 
Кто-то знает хорошую функцию определения разницы между двумя Date() во всех юнитах - часах, дня, месяцев и годах.

Проблема только с месяцами. Так как там разное колличество дней в каждом месяце, плюс высокосные годы. Я ещё не нашёл функции что толково определяет разницу между двумя датами в месяцах.

Есть идеи?

crazyone 18.07.2008 20:06

Код:

d_mseconds=d1.getTime()-d2.getTime()

chingachgoog 18.07.2008 20:11

А что вы понимаете под разницей между двумя датами в месяцах?

DISconnected 18.07.2008 22:46

все делаю ту же ошибку - считают миллисекунды и разницу между ними, и потом делят на 30 дней скажем.

в реальности у каждого месяца разное колличество дней. Между 1м февраля и 1м марта - ровно один месяц, в реальном мире.

то есть нужна формула что реально определяет сколько месяцев включено между двумя датами.

iNils 18.07.2008 23:07

1 календарный месяц равен 30.43685 суткам.

chingachgoog 18.07.2008 23:47

Цитата:

Сообщение от DISconnected (Сообщение 753039)
Между 1м февраля и 1м марта - ровно один месяц, в реальном мире.

то есть нужна формула что реально определяет сколько месяцев включено между двумя датами.

Что может быть тогда проще? Ведь есть свойства Data возвращающие месяц - т.е. можно найти сколько целых месяцев будет между датами, а потом найти остаток в днях (не все же у вас даты с первого числа будут?) - вот тут посложнее: что делать если остаток выйдет 28 дней? Или 30? Или 42 дня? На что делить тогда? Скорее всего на вариант iNils-а.

Dimas_Art 22.02.2009 19:31

а как узнать сколько дней между несколькими месяцами, например, между 15-января и 3 марта?

iNils 22.02.2009 19:58

Код AS1/AS2:

var d1:Date = new Date (2009, 0, 15);
var d2:Date = new Date (2009, 2, 3);
trace ((d2.getTime () - d1.getTime ()) / (1000 * 60 * 60 * 24)); //47


Dimas_Art 22.02.2009 20:09

большое спасибо ;)

julia0810 03.12.2009 17:47

помогите пожалуйста А как узнать сколько прошло дней, а не месяцев, например от 25.10.05 прошло до сегодня. 22 дня .


Часовой пояс GMT +4, время: 21:58.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.