how to instantiate a date object with UK format date??

A

amith

hi

I have written javascript for comparing two dates in US format and
finding out whether the start date is greater than the end date and
vice versa.

In this attempt i have instantiated the date object with the date
string which the user inputs from a pop up calendar.

somewhat like this..........

var startdate= new Date(document.MForm.startDate.value);

Where MForm = form name
startDate= The name of the TextField where i fetch the date
from the user
in the US format(MM/DD/YYYY).

All my compare logic is based on the US format dates, which is
somewhat like this..........

var startdate= new Date(document.MForm.startDate.value);
var enddate=new Date(document.MForm.endDate.value);
var today=new Date();
var one_day=1000*60*60*24;
var end_start_diff =
Math.ceil((enddate.getTime()-startdate.getTime())/(one_day));

if((end_start_diff < 0))
{
alert(" End date should be greater than Start date");
document.MForm.endDate.focus();
return(false);
}

this logic works fine with US dates. But i realised that the same
code would not work if I accpet UK format dates from the
user.......b'cos

new Date("02/11/2004") US Format (MM/DD/YYYY) gives Feb 11,
2004
but... new Date("11/02/2004") UK Format (DD/MM/YYYY) gives Nov 2,
2004

......and this is what is causing the problem.

The soln what i have thought is to change the UK format date to US
format in the date.
But i need to know if a Date Object in javascript can be instantiated
with the UK format of date as the parameter??

ex: new Date("11/02/2004") should gimme Feb 11, 2004. Is there any
method i can do this. If not what are the other easy methods to solve
this problem??

Thanks in advnace for helping.

Regards

Amith
 
M

Michael Winter

The soln what i have thought is to change the UK format date to US
format in the date.
But i need to know if a Date Object in javascript can be instantiated
with the UK format of date as the parameter??

ex: new Date("11/02/2004") should gimme Feb 11, 2004. Is there any
method i can do this. If not what are the other easy methods to solve
this problem??

If you site is international, it would be a wise decision to use the
international date format, yyyy-mm-dd. There can be little confusion here.
Alternatively, you can split the one field into three, marking each
clearly as day, month, and year.

Dr Stockton, a regular poster here, has produced comprehensive information
on date and time manipulation. One of the pages, covering input and
validation, can be found here:

http://www.merlyn.demon.co.uk/js-date4.htm

Mike


Dr Stockton's JavaScript pages:

http://www.merlyn.demon.co.uk/js-index.htm
 
D

Dr John Stockton

JRS: In article <[email protected]>, seen in
Michael Winter <[email protected]
d> posted at Wed, 11 Feb 2004 14:08:33 :-
If you site is international, it would be a wise decision to use the
international date format, yyyy-mm-dd. There can be little confusion here.

Since new Date("2004-02-11") -> NaN
but new Date("2004/02/11") -> Date Object holding start of
local today
ISTM that, if the date is not to be validated, the latter form is
better.

If it is to be validated, one can easily allow [-] [/] [-/] [\.] etc. as
separators, and can also require that the second separator matches the
first.


In the code shown, the OP only needs
if (enddate<=startdate) <complain>
He seems inconsistent as respects the effect of having equal dates and
the wording of the complaint.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top