# Thread: How to calculate diffrence between two date fields

1. Registered User
Join Date
Sep 2012
Posts
2

## How to calculate diffrence between two date fields

Hi , all

I got 2 fields in my jsp page what i am fill with default values Today and Today - 7

Code below

Code:
```  var date = new Date();
var twoDigitDay=((date.getDate())>=10)? (date.getDate()) : '0' + (date.getDate());
var twoDigitMonth = ((date.getMonth() + 1) >= 10) ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1);
var f_date = twoDigitDay + "." + twoDigitMonth + "." + date.getFullYear();
var datums2 = new Date();
var datums3 = new Date(datums2.getTime() - 7 * 24 * 60 * 60 * 1000);
var twoDigitDay2=((datums3.getDate())>=10)? (datums3.getDate()) : '0' + (datums3.getDate());
var twoDigitMonth2 = ((datums3.getMonth() + 1) >= 10) ? (datums3.getMonth() + 1) : '0' + (datums3.getMonth() + 1);
var f_dateminus7 = twoDigitDay2 + "." + twoDigitMonth2 + "." + datums3.getFullYear();

document.getElementById('StartDate_fltrTagFrom').value = f_dateminus7;
document.getElementById('StartDate_fltrTagTo').value = f_date;```

But user can change theese two date fields i need to make function who calculate diffrennce betwwen these two date fields
Priview if diffrence is bigger that 365 days i got alert and do other stuff , I maked that filter but somthing is goes wrong and a value is not corect where is a problem ?

Code:
```    var date = new Date();
var twoDigitDay=((date.getDate())>=10)? (date.getDate()) : '0' + (date.getDate());
var twoDigitMonth = ((date.getMonth() + 1) >= 10) ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1);
var f_date = twoDigitDay + "." + twoDigitMonth + "." + date.getFullYear();
var datums2 = new Date();
var datums3 = new Date(datums2.getTime() - 7 * 24 * 60 * 60 * 1000);
var twoDigitDay2=((datums3.getDate())>=10)? (datums3.getDate()) : '0' + (datums3.getDate());
var twoDigitMonth2 = ((datums3.getMonth() + 1) >= 10) ? (datums3.getMonth() + 1) : '0' + (datums3.getMonth() + 1);
var f_dateminus7 = twoDigitDay2 + "." + twoDigitMonth2 + "." + datums3.getFullYear();

document.getElementById('StartDate_fltrTagFrom').value = f_dateminus7;
document.getElementById('StartDate_fltrTagTo').value = f_date;```

Thanks !

2. Registered User
Join Date
Sep 2012
Posts
2
Upps the filter code is this
Code:
```    var cbvalue =document.getElementById('StartDate_fltrTagOp');
var d1=document.getElementById('StartDate_fltrTagFrom').value;
var d2=document.getElementById('StartDate_fltrTagTo').value;
var sf_date = Date.parse(d1.replace(".","/").replace(".","/"));
var sf_date2 = Date.parse(d2.replace(".","/").replace(".","/"));
var difference = Math.abs(sf_date2 - sf_date)/60/60/24/1000;
if (difference>365 && cbvalue.checked){
alert("Aprūpes epizodes sākuma meklēšanas kritērijs pārsniedz 365 dienas");```

3. Registered User
Join Date
Oct 2010
Location
Versailles, France
Posts
1,290
All the days are not 24 hours with daylight saving time !
Code:
```// Then prefer
var datum3 = datim2.setDate(datims2.getDate() - 7);
// to
var datums3 = new Date(datums2.getTime() - 7 * 24 * 60 * 60 * 1000);```
to avoid rare but possible errors...

To test the difference, it's to possible to compare the valueOf() or getTime() of one date and this date plus one year with getFullYear() and a setYear() function !
Last edited by 007Julien; 09-06-2012 at 05:36 AM.

There are currently 1 users browsing this thread. (0 members and 1 guests)

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•

"

"

## X vBulletin 4.2.2 Debug Information

• Page Generation 0.08600 seconds
• Memory Usage 2,851KB
• Queries Executed 13 (?)
Template Usage (33):
• (4)bbcode_code
• (1)footer
• (1)forumjump
• (1)forumrules
• (1)gobutton
• (3)memberaction_dropdown
• (1)navbar
• (1)navbar_moderation
• (1)navbar_noticebit
• (1)navbar_tabs
• (2)option
• (3)postbit
• (3)postbit_onlinestatus
• (3)postbit_wrapper
• (1)spacer_close
• (1)spacer_open
• (1)tagbit_wrapper

Phrase Groups Available (6):
• global
• inlinemod
• postbit
• posting
• reputationlevel
Included Files (26):
• ./global.php
• ./includes/class_bootstrap.php
• ./includes/init.php
• ./includes/class_core.php
• ./includes/config.php
• ./includes/functions.php
• ./includes/class_friendly_url.php
• ./includes/class_hook.php
• ./includes/class_bootstrap_framework.php
• ./vb/vb.php
• ./vb/phrase.php
• ./includes/functions_calendar.php
• ./includes/functions_bigthree.php
• ./includes/class_postbit.php
• ./includes/class_bbcode.php
• ./includes/functions_reputation.php
• ./includes/functions_notice.php
• ./packages/vbattach/attach.php
• ./vb/types.php
• ./vb/cache.php
• ./vb/cache/db.php
• ./vb/cache/observer/db.php
• ./vb/cache/observer.php

Hooks Called (70):
• init_startup
• friendlyurl_resolve_class
• init_startup_session_setup_start
• database_pre_fetch_array
• database_post_fetch_array
• init_startup_session_setup_complete
• global_bootstrap_init_start
• global_bootstrap_init_complete
• cache_permissions
• fetch_foruminfo
• global_state_check
• global_bootstrap_complete
• global_start
• style_fetch
• global_setup_complete
• strip_bbcode
• friendlyurl_clean_fragment
• friendlyurl_geturl
• forumjump
• cache_templates
• cache_templates_process
• template_register_var
• template_render_output
• fetch_template_start
• fetch_template_complete
• parse_templates
• notices_check_start
• notices_noticebit
• process_templates_complete
• friendlyurl_redirect_canonical
• bbcode_fetch_tags
• bbcode_create
• postbit_factory
• postbit_display_start
• postbit_imicons
• bbcode_parse_start
• bbcode_parse_complete_precache
• bbcode_parse_complete
• postbit_display_complete
• memberaction_dropdown
• tag_fetchbit_complete
• forumrules
• navbits
• navbits_complete