Hi all,
I'm having a hard time with the Day() function. Basically, it appears
to be picking and choosing which part of a date string it uses to
return the result ...
heres some code :
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<%
Function formatDate(dDate)
formatDate=""
If IsNull(dDate) or Trim(dDate)="" Then
Else If IsDate(dDate) Then
If dDate<CDate("January 1, 1901") Then
formatDate=" - - "
Else formatDate=Day(dDate) & " " & MonthName(Month(dDate), true) &
" " & year(dDate)
End If
End If
End If
If formatDate="1 Jan 1900" Then
formatDate="n/a"
End If
End Function
dim sDate1,sDate2
sDate1="12-31-06"
sDate2="07/11/2006"
sDate2="26-12-2006"
Response.Write ("DEFAULT Session.LCID=" & Session.LCID)
Response.Write ("<BR/>")
Response.Write ("Date1=" & sdate1 & ". formatDate(" & sdate1 & ") ='" &
formatDate(sdate1) & "'")
Response.Write ("<BR/>")
Response.Write ("Date2=" & sdate2 & ". formatDate(" & sdate2 & ") ='" &
formatDate(sdate2) & "'")
session.LCID=1033
Response.Write ("<BR/>")
Response.Write ("<BR/>")
Response.Write ("Session.LCID=" & Session.LCID)
Response.Write ("<BR/>")
Response.Write ("Date1=" & sdate1 & ". formatDate(" & sdate1 & ") ='" &
formatDate(sdate1) & "'")
Response.Write ("<BR/>")
Response.Write ("Date2=" & sdate2 & ". formatDate(" & sdate2 & ") ='" &
formatDate(sdate2) & "'")
session.LCID=2057
Response.Write ("<BR/>")
Response.Write ("<BR/>")
Response.Write ("Session.LCID=" & Session.LCID)
Response.Write ("<BR/>")
Response.Write ("Date1=" & sdate1 & ". formatDate(" & sdate1 & ") ='" &
formatDate(sdate1) & "'")
Response.Write ("<BR/>")
Response.Write ("Date2=" & sdate2 & ". formatDate(" & sdate2 & ") ='" &
formatDate(sdate2) & "'")
%>
<P> </P>
</BODY>
</HTML>
OUTPUT################################
DEFAULT Session.LCID=2057
Date1=12-31-06. formatDate(12-31-06) ='31 Dec 2006'
Date2=26-12-2006. formatDate(26-12-2006) ='26 Dec 2006'
Session.LCID=1033
Date1=12-31-06. formatDate(12-31-06) ='31 Dec 2006'
Date2=26-12-2006. formatDate(26-12-2006) ='26 Dec 2006'
Session.LCID=2057
Date1=12-31-06. formatDate(12-31-06) ='31 Dec 2006'
Date2=26-12-2006. formatDate(26-12-2006) ='26 Dec 2006'
/OUTPUT###################################
Notice how it uses the FIRST part of sDate1 to return the day, but the
SECOND part of sDate2
I have tried fiddling with the Locale settings, but whatever they are,
Day("12/26/2006") always returns "26".
Can anyone explain, and hopefully suggest what to do ?
Thanks in advance 3 1419
This is expected 12/26/2006 is always thought to be day 26 of month 12
because it can't be day 12 of month 26...
Note that the problem doesn't lie really with the Day function itself. The
problem is that Day should use a date parameter not a string. As you are
providing a string to this function, the string is first converted to a date
(and it can't be anything else than day 26 month 12). The day is just then
extracted from the date. As a result it always return 26.
Try rather with a date such as 02/03 that can be day 2 of month 3 or day 3
of month 2.
Also my personal preference is to work always with the proper datatype i.e.
to convert a user input string as soon as possible to a real date variable
(or to use a real date variable from the beginning if this is not a user
input)...
--
Patrice
<je*******@hotmail.coma écrit dans le message de news: 11**********************@35g2000cwc.googlegroups.c om...
Hi all,
I'm having a hard time with the Day() function. Basically, it appears
to be picking and choosing which part of a date string it uses to
return the result ...
heres some code :
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<%
Function formatDate(dDate)
formatDate=""
If IsNull(dDate) or Trim(dDate)="" Then
Else If IsDate(dDate) Then
If dDate<CDate("January 1, 1901") Then
formatDate=" - - "
Else formatDate=Day(dDate) & " " & MonthName(Month(dDate), true) &
" " & year(dDate)
End If
End If
End If
If formatDate="1 Jan 1900" Then
formatDate="n/a"
End If
End Function
dim sDate1,sDate2
sDate1="12-31-06"
sDate2="07/11/2006"
sDate2="26-12-2006"
Response.Write ("DEFAULT Session.LCID=" & Session.LCID)
Response.Write ("<BR/>")
Response.Write ("Date1=" & sdate1 & ". formatDate(" & sdate1 & ") ='" &
formatDate(sdate1) & "'")
Response.Write ("<BR/>")
Response.Write ("Date2=" & sdate2 & ". formatDate(" & sdate2 & ") ='" &
formatDate(sdate2) & "'")
session.LCID=1033
Response.Write ("<BR/>")
Response.Write ("<BR/>")
Response.Write ("Session.LCID=" & Session.LCID)
Response.Write ("<BR/>")
Response.Write ("Date1=" & sdate1 & ". formatDate(" & sdate1 & ") ='" &
formatDate(sdate1) & "'")
Response.Write ("<BR/>")
Response.Write ("Date2=" & sdate2 & ". formatDate(" & sdate2 & ") ='" &
formatDate(sdate2) & "'")
session.LCID=2057
Response.Write ("<BR/>")
Response.Write ("<BR/>")
Response.Write ("Session.LCID=" & Session.LCID)
Response.Write ("<BR/>")
Response.Write ("Date1=" & sdate1 & ". formatDate(" & sdate1 & ") ='" &
formatDate(sdate1) & "'")
Response.Write ("<BR/>")
Response.Write ("Date2=" & sdate2 & ". formatDate(" & sdate2 & ") ='" &
formatDate(sdate2) & "'")
%>
<P> </P>
</BODY>
</HTML>
OUTPUT################################
DEFAULT Session.LCID=2057
Date1=12-31-06. formatDate(12-31-06) ='31 Dec 2006'
Date2=26-12-2006. formatDate(26-12-2006) ='26 Dec 2006'
Session.LCID=1033
Date1=12-31-06. formatDate(12-31-06) ='31 Dec 2006'
Date2=26-12-2006. formatDate(26-12-2006) ='26 Dec 2006'
Session.LCID=2057
Date1=12-31-06. formatDate(12-31-06) ='31 Dec 2006'
Date2=26-12-2006. formatDate(26-12-2006) ='26 Dec 2006'
/OUTPUT###################################
Notice how it uses the FIRST part of sDate1 to return the day, but the
SECOND part of sDate2
I have tried fiddling with the Locale settings, but whatever they are,
Day("12/26/2006") always returns "26".
Can anyone explain, and hopefully suggest what to do ?
Thanks in advance je*******@hotmail.com wrote:
Hi all,
I'm having a hard time with the Day() function. Basically, it appears
to be picking and choosing which part of a date string it uses to
return the result ...
To add to what Patrice said: always use a standard date format such as
the ISO standard YYYY-MM-DD
You can use UI gadgets such as calendar controls or dropdown controls to
enforce the standard format.
--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.
<je*******@hotmail.comwrote in message
news:11**********************@35g2000cwc.googlegro ups.com...
Hi all,
I'm having a hard time with the Day() function. Basically, it appears
to be picking and choosing which part of a date string it uses to
return the result ...
heres some code :
Enclose a Date 'string' with #
like this
a = CDate(#31/12/2006#)
This is a rarity in VBS, not known by many scripters.
Of course, in my case, the date format (dd-mm-yyyy) between # # is
according to my own locale.
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<%
Function formatDate(dDate)
formatDate=""
If IsNull(dDate) or Trim(dDate)="" Then
Else If IsDate(dDate) Then
If dDate<CDate("January 1, 1901") Then
formatDate=" - - "
Else formatDate=Day(dDate) & " " & MonthName(Month(dDate), true) &
" " & year(dDate)
End If
End If
End If
If formatDate="1 Jan 1900" Then
formatDate="n/a"
End If
End Function
dim sDate1,sDate2
sDate1="12-31-06"
sDate2="07/11/2006"
sDate2="26-12-2006"
Response.Write ("DEFAULT Session.LCID=" & Session.LCID)
Response.Write ("<BR/>")
Response.Write ("Date1=" & sdate1 & ". formatDate(" & sdate1 & ") ='" &
formatDate(sdate1) & "'")
Response.Write ("<BR/>")
Response.Write ("Date2=" & sdate2 & ". formatDate(" & sdate2 & ") ='" &
formatDate(sdate2) & "'")
session.LCID=1033
Response.Write ("<BR/>")
Response.Write ("<BR/>")
Response.Write ("Session.LCID=" & Session.LCID)
Response.Write ("<BR/>")
Response.Write ("Date1=" & sdate1 & ". formatDate(" & sdate1 & ") ='" &
formatDate(sdate1) & "'")
Response.Write ("<BR/>")
Response.Write ("Date2=" & sdate2 & ". formatDate(" & sdate2 & ") ='" &
formatDate(sdate2) & "'")
session.LCID=2057
Response.Write ("<BR/>")
Response.Write ("<BR/>")
Response.Write ("Session.LCID=" & Session.LCID)
Response.Write ("<BR/>")
Response.Write ("Date1=" & sdate1 & ". formatDate(" & sdate1 & ") ='" &
formatDate(sdate1) & "'")
Response.Write ("<BR/>")
Response.Write ("Date2=" & sdate2 & ". formatDate(" & sdate2 & ") ='" &
formatDate(sdate2) & "'")
%>
<P> </P>
</BODY>
</HTML>
OUTPUT################################
DEFAULT Session.LCID=2057
Date1=12-31-06. formatDate(12-31-06) ='31 Dec 2006'
Date2=26-12-2006. formatDate(26-12-2006) ='26 Dec 2006'
Session.LCID=1033
Date1=12-31-06. formatDate(12-31-06) ='31 Dec 2006'
Date2=26-12-2006. formatDate(26-12-2006) ='26 Dec 2006'
Session.LCID=2057
Date1=12-31-06. formatDate(12-31-06) ='31 Dec 2006'
Date2=26-12-2006. formatDate(26-12-2006) ='26 Dec 2006'
/OUTPUT###################################
Notice how it uses the FIRST part of sDate1 to return the day, but the
SECOND part of sDate2
I have tried fiddling with the Locale settings, but whatever they are,
Day("12/26/2006") always returns "26".
Can anyone explain, and hopefully suggest what to do ?
Thanks in advance This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Alan Little |
last post by:
This is very bizarre. Could someone else have a look at this? Maybe you
can see something I'm overlooking. Go here:
...
|
by: Marcus Sheen [UK] |
last post by:
Have done searches for similar questions, but cannot find anything. Nor can
I find any resources via Google (Javascript Source etc).
Thinking...
|
by: Frances Del Rio |
last post by:
this is so bizarre, and don't even know if this is right place to ask,
but don't know where else:
about two days I changed webhosting, changed...
|
by: Jordan Bruce |
last post by:
*******************************************************
ONTARIO CANADA INFORMIX USER GROUP (OCIUG)
http://www.iiug.org/ociug
NEXT MEETING:...
|
by: Rolloffle |
last post by:
A short time ago my fiancée Kimmy found out that she had gotten
pregnant. We had a long, hard talk about what to do, if anything. I was
in favour...
|
by: Georg Brandl |
last post by:
Hello,
it's time for the 7th Python Bug Day. The aim of the bug day is to close
as many bugs, patches and feature requests as possible, this time...
|
by: Georg Brandl |
last post by:
Hello,
it's time for the 7th Python Bug Day, just before 2.5 alpha 1 is released.
The aim of the bug day is to close as many bugs, patches and...
|
by: melledge |
last post by:
Ajax Developers' Day to Kick Off XTech 2006 Conference
Industry experts offer insight into next generation of the Web
ALEXANDRIA, VIRGINIA, USA...
|
by: Jasper |
last post by:
I'm stumped. I'm calling a method that has keyword args, but not
setting them, and yet one of them starts off with data?!
The class definition...
|
by: Kemmylinns12 |
last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and...
|
by: jalbright99669 |
last post by:
Am having a bit of a time with URL Rewrite. I need to incorporate http to https redirect with a reverse proxy. I have the URL Rewrite rules made...
|
by: antdb |
last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine
In the overall architecture, a new "hyper-convergence" concept was...
|
by: Matthew3360 |
last post by:
Hi, I have a python app that i want to be able to get variables from a php page on my webserver. My python app is on my computer. How would I make it...
|
by: AndyPSV |
last post by:
HOW CAN I CREATE AN AI with an .executable file that would suck all files in the folder and on my computerHOW CAN I CREATE AN AI with an .executable...
|
by: Arjunsri |
last post by:
I have a Redshift database that I need to use as an import data source. I have configured the DSN connection using the server, port, database, and...
|
by: Oralloy |
last post by:
Hello Folks,
I am trying to hook up a CPU which I designed using SystemC to I/O pins on an FPGA.
My problem (spelled failure) is with the...
|
by: BLUEPANDA |
last post by:
At BluePanda Dev, we're passionate about building high-quality software and sharing our knowledge with the community. That's why we've created a SaaS...
|
by: Rahul1995seven |
last post by:
Introduction:
In the realm of programming languages, Python has emerged as a powerhouse. With its simplicity, versatility, and robustness, Python...
| |