Graeme McGilvray
asked on
How to get a date to stay the right format
Hi all, just wondering how I get the date to stay in the same format, no default
dd / mm / yy - this is the format I want to use
using ASP Classic and MS Access 2003
example date: 1/10/17
-everytime i update this is changes from 1/10/17 to 10/1/17 and then back.
dd / mm / yy - this is the format I want to use
using ASP Classic and MS Access 2003
example date: 1/10/17
-everytime i update this is changes from 1/10/17 to 10/1/17 and then back.
ASKER
4 character year is fine for me, FormatDateTime ill try out and get back to you
cheers
cheers
ok, it should work the way you want to as long as your server date format settings are dd/mm/yyyy.
example:
Response.Write FormatDateTime( now, 2 )
example:
Response.Write FormatDateTime( now, 2 )
ASKER
Just looking at FormatDateTime here: http://www.w3schools.com/a sp/func_fo rmatdateti me.asp
not seeing dd / mm / yyyy ??
I only see mm / dd / yyyy
not seeing dd / mm / yyyy ??
I only see mm / dd / yyyy
I believe the format is based off of your local servers date/time locale settings. Give it a shot and see what happens!
ASKER
Still does the same
would I have to put it on the Response.Write ? or the Executed Query? or both?
I currently have it on the Executed Query
would I have to put it on the Response.Write ? or the Executed Query? or both?
I currently have it on the Executed Query
ASKER
also tried putting it on the Response.Write, same thing too
I would set it as its own variable, then use that in your query.
Did you try the custom function I gave you?
Did you try the custom function I gave you?
ASKER
would it matter with the date...
<input type=text> put in the there and submitted, when you go back to update it, that is when it changes, and you can keep clicking update and it changes around
<input type=text> put in the there and submitted, when you go back to update it, that is when it changes, and you can keep clicking update and it changes around
can you post your updated code?
ASKER
oConn.Execute("UPDATE events SET event_name='"&Request.Form("eventname")&"',event_start=#"&FormatDateTime(Request.Form("eventstart"),2)&"#,event_finish=#"&FormatDateTime(Request.Form("eventfinish"),2)&"#,event_location="&GPLocations("location_ID")&",event_code='"&Request.Form("codeID")&"',event_conf="&EventConf&",event_live="&EventLive&" WHERE event_ID="&Request.QueryString("event"))
if you do:
Response.Write "UPDATE events SET event_name='"&Request.Form ("eventnam e")&"',eve nt_start=# "&FormatDa teTime(Req uest.Form( "eventstar t"),2)&"#, event_fini sh=#"&Form atDateTime (Request.F orm("event finish"),2 )&"#,event _location= "&GPLocati ons("locat ion_ID")&" ,event_cod e='"&Reque st.Form("c odeID")&"' ,event_con f="&EventC onf&",even t_live="&E ventLive&" WHERE event_ID="&Request.QuerySt ring("even t"))
then, whatever is outputted to the screen, run directly in your database and see if you get any results
Response.Write "UPDATE events SET event_name='"&Request.Form
then, whatever is outputted to the screen, run directly in your database and see if you get any results
ASKER
have been running it in my database, however because it is an UPDATE query, it doesnt produce a result?
however when it updates the DB, it changes it back and forth from 1/10/2017 to 10/1/2017 and vv
however when it updates the DB, it changes it back and forth from 1/10/2017 to 10/1/2017 and vv
even when using my custom function?
oConn.Execute("UPDATE events SET event_name='"&Request.Form ("eventnam e")&"',eve nt_start=# "&customFo rmatDate(R equest.For m("eventst art"))&"#, event_fini sh=#"&cust omFormatDa te(Request .Form("eve ntfinish") )&"#,event _location= "&GPLocati ons("locat ion_ID")&" ,event_cod e='"&Reque st.Form("c odeID")&"' ,event_con f="&EventC onf&",even t_live="&E ventLive&" WHERE event_ID="&Request.QuerySt ring("even t"))
oConn.Execute("UPDATE events SET event_name='"&Request.Form
ASKER
going to try the custom function now
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
It should read using Format:
oConn.Execute("UPDATE events SET event_name='"&Request.Form("eventname")&"',event_start=#"&Format(Request.Form("eventstart"),"yyyy\/mm\/dd")&"#,event_finish=#"&Format(Request.Form("eventfinish"),"yyyy\/mm\/dd")&"#,event_location="&GPLocations("location_ID")&",event_code='"&Request.Form("codeID")&"',event_conf="&EventConf&",event_live="&EventLive&" WHERE event_ID="&Request.QueryString("event"))
/gustav
ASKER
Hi Gustav, this will insert the date as dd / mm / yyyy ?
Format() won't work, it's a visual basic function, not vbscript.
To answer your previous question, you should surround the date with pound signs
To answer your previous question, you should surround the date with pound signs
ASKER
Ah ok, I know I have a couple of other statements with the single quotes, but they are INSERTS
Well, what do you see?
I don't know what you read from the form. You may have to apply DateValue as well:
event_finish=#"&Format(Dat eValue(Req uest.Form( "eventfini sh")),"yyy y\/mm\/dd" )&"#,
/gustav
I don't know what you read from the form. You may have to apply DateValue as well:
event_finish=#"&Format(Dat
/gustav
again, there is no FORMAT() function in classic asp, you need to use formatDateTime(), as I suggested earlier. or use the custom function I gave you.
Did you try that? what were your results? I can't help you if you don't respond to the questions/solutions I propose
Did you try that? what were your results? I can't help you if you don't respond to the questions/solutions I propose
ASKER
Hi BigMonty, sorry I was trying to figure out where the missing brackets went, got that sorted.
Error now:
Error now:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'padZero'
/admin2.asp, line 9 -> customFormatDate = padZero( Day( d ) )& "/" & padZero( Month( d ) )& "/" & Right( padZero( Year( d ), 2 ))
dd this function anywhere on your page:
function padZero( n )
if CInt( n ) < n then
padZero = "0" & n
else
padZero = n
end if
end function
function padZero( n )
if CInt( n ) < n then
padZero = "0" & n
else
padZero = n
end if
end function
ASKER
I have just tried replacing # with quotes and it inserts and doesn't change on recall and update... its working... ? is this supposed to happen? with quote and not # ?
the best way to tell if it's working is to see if the data is there in the database and in the format you want :)
ASKER
yeah its all working great, no issues at all
why would there be a difference?
why would there be a difference?
not sure why, both formats should have worked
ASKER
Interesting... how do we close off this question now?
I mean you have been a help is debugging it and trying different stuff...
I mean you have been a help is debugging it and trying different stuff...
i can't tell you how to close a question, I think EE may object to that :)
if any of my answers helped you and you think they may be useful to others, then select them. if not, delete the question and it'll auto-delete in 4 days.
FYI - I'm not here for the points, so as long as you got the solution, I don't care how :)
if any of my answers helped you and you think they may be useful to others, then select them. if not, delete the question and it'll auto-delete in 4 days.
FYI - I'm not here for the points, so as long as you got the solution, I don't care how :)
ASKER
tried something not suggested and worked
Open in new window
and you would call it like:
Response.Write customFormateDate( now )