Connecting Tech Pros Worldwide Forums | Help | Site Map

Dates! Dates! Dates!

PW
Guest
 
Posts: n/a
#1: Jul 19 '05

<rant>

Sorry guys, but I just have to whinge. Dates in ASP are a total pain in the
butt! I seem to get caught out so many times. I realise its my own fault,
but going from the posts in this newsgroup and others, I'm not the only one.
Its just a poorly addressed issue within ASP. So for all your poor buggers
out there that are having problems, particularly with european date formats,
here is my solution.

I have the user enter their date in european format ("31-12-2004") and then
handle it this way ...

myDate = Request.QueryString("txtDate")
myArray = Split(myDate, "-")
myDD = myArray(0)
myMM = myArray(1)
myYYYY = myArray(2)
myISOdate = myYYYY & "-" & myMM & "-" & myDD

I find that ISO formatted dates typically go into the database of choice
pretty readily.

Hope this helps someone.

Cheers,
PW

</rant>



Evertjan.
Guest
 
Posts: n/a
#2: Jul 19 '05

re: Dates! Dates! Dates!


PW wrote on 07 aug 2004 in microsoft.public.inetserver.asp.general:[color=blue]
> I have the user enter their date in european format ("31-12-2004") and
> then handle it this way ...
>
> myDate = Request.QueryString("txtDate")
> myArray = Split(myDate, "-")
> myDD = myArray(0)
> myMM = myArray(1)
> myYYYY = myArray(2)
> myISOdate = myYYYY & "-" & myMM & "-" & myDD[/color]

Usually I also allow for YY, the . and the /, so:

function myISOdate(d)
d = trim(d)
d = replace(d,".","-")
d = replace(d,"/","-")
a = Split(d,"-")
if len(a(2))=2 then a(2) = "20" & a(2)
myISOdate = a(2) & "-" & a(1) & "-" & a(0)
end function

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Evertjan.
Guest
 
Posts: n/a
#3: Jul 19 '05

re: Dates! Dates! Dates!


PW wrote on 07 aug 2004 in microsoft.public.inetserver.asp.general:[color=blue]
> I have the user enter their date in european format ("31-12-2004") and
> then handle it this way ...
>
> myDate = Request.QueryString("txtDate")
> myArray = Split(myDate, "-")
> myDD = myArray(0)
> myMM = myArray(1)
> myYYYY = myArray(2)
> myISOdate = myYYYY & "-" & myMM & "-" & myDD[/color]

Usually I also allow for YY, the . and the /, so:

function myISOdate(d)
d = trim(d)
d = replace(d,".","-")
d = replace(d,"/","-")
a = Split(d,"-")
if len(a(2))=2 then a(2) = "20" & a(2)
myISOdate = a(2) & "-" & a(1) & "-" & a(0)
end function

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
PW
Guest
 
Posts: n/a
#4: Jul 19 '05

re: Dates! Dates! Dates!



"Evertjan." <exjxw.hannivoort@interxnl.net> wrote in message
news:Xns953E64970D1A0eejj99@194.109.133.29...[color=blue]
>
> Usually I also allow for YY, the . and the /, so:
>
> function myISOdate(d)
> d = trim(d)
> d = replace(d,".","-")
> d = replace(d,"/","-")
> a = Split(d,"-")
> if len(a(2))=2 then a(2) = "20" & a(2)
> myISOdate = a(2) & "-" & a(1) & "-" & a(0)
> end function[/color]


Hmmm, thats a good idea, except for if the user enters something like
"20/01/60" in which 60 become 2060 insted of 1960.
But I will incorporate that change, thanks. :-)



Evertjan.
Guest
 
Posts: n/a
#5: Jul 19 '05

re: Dates! Dates! Dates!


PW wrote on 08 aug 2004 in microsoft.public.inetserver.asp.general:[color=blue][color=green]
>> if len(a(2))=2 then a(2) = "20" & a(2)[/color]
>
> Hmmm, thats a good idea, except for if the user enters something like
> "20/01/60" in which 60 become 2060 insted of 1960.[/color]

if you want to define that for say 2009/1910:

if len(a(2))=2 and +a(2)<10 then
a(2) = "20" & a(2)
elseif len(a(2))=2 and +a(2)>=10 then
a(2) = "19" & a(2)
end if


--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Mark Schupp
Guest
 
Posts: n/a
#6: Jul 19 '05

re: Dates! Dates! Dates!


It's really not an "ASP" problem. The same issues come up in any programming
environment where the person entering the dates may use a different format
than the system storing the dates. We finally gave up on manually entered
text dates in our system and now use a popup date calendar that always sends
the dates to the web server as "yyyymmdd hh:mm:ss",

--
Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com


"PW" <pwa@NObigSPAMpond.net.au> wrote in message
news:eIM2XVBfEHA.384@TK2MSFTNGP10.phx.gbl...[color=blue]
>
> <rant>
>
> Sorry guys, but I just have to whinge. Dates in ASP are a total pain in[/color]
the[color=blue]
> butt! I seem to get caught out so many times. I realise its my own[/color]
fault,[color=blue]
> but going from the posts in this newsgroup and others, I'm not the only[/color]
one.[color=blue]
> Its just a poorly addressed issue within ASP. So for all your poor[/color]
buggers[color=blue]
> out there that are having problems, particularly with european date[/color]
formats,[color=blue]
> here is my solution.
>
> I have the user enter their date in european format ("31-12-2004") and[/color]
then[color=blue]
> handle it this way ...
>
> myDate = Request.QueryString("txtDate")
> myArray = Split(myDate, "-")
> myDD = myArray(0)
> myMM = myArray(1)
> myYYYY = myArray(2)
> myISOdate = myYYYY & "-" & myMM & "-" & myDD
>
> I find that ISO formatted dates typically go into the database of choice
> pretty readily.
>
> Hope this helps someone.
>
> Cheers,
> PW
>
> </rant>
>
>[/color]


Closed Thread