15. januar 2007 - 15:39
Der er
22 kommentarer og 3 løsninger
Tid og dato i ASP
Nogen der ved hvordan man med ASP forøger datoformatet 15-01-2007 20:00 med 2 dage?
Annonceindlæg fra SoftwareOne
15. januar 2007 - 15:51
#1
dato = now() datoPlus2 = dateadd("d",2,dato)
15. januar 2007 - 15:52
#2
<% Session.LCID = 1030 Response.Write DateAdd("d",2,now()) %>
15. januar 2007 - 15:53
#4
Og det skulle selvfølgelig være 2 og ikke 1 ;) Men kan se at der er andre der også har kastet et svar ;)
15. januar 2007 - 15:54
#5
Da det er dage, kan du også bruge den korte udgave: dato = now() datoPlus2 = dato+2
15. januar 2007 - 15:56
#6
Du skal evt have tydecasted din dato, hvis den kommer som tekst: dato = cDate("15-01-2007 20:00")
15. januar 2007 - 19:42
#7
Response.Write Now()+2
16. januar 2007 - 11:07
#8
Kan man på samme måde trække 2 datoer fra hianden? 15-01-2007 20:00 - 14-01-2007 20:00 = 1 dag
16. januar 2007 - 11:50
#9
datediff("d",dato1, dato2)
16. januar 2007 - 11:56
#10
Bemærk at den kører direkte på datoen. Det vil sige at den siger der er 1 dags forskel på "31-12-2006 23:59:59" og "01-01-2007 00:00:01" selv om der kun er gået 2 sec. Samme med desultat hvis du spørger om året. Der sigen den også, at der er et års forskel. Vil du have så den ikke skal sige der er gået en dag før kl har parceret det samme tidspunkt, skal du ned og tælle sek i stedet, også selv omregne dem til antal dage.
16. januar 2007 - 11:57
#11
Den kommentar var da fuld af stave fejl og mangel på komma. Håber I stadig kan forstå den.
16. januar 2007 - 12:28
#12
Kan man så ikke gøre det mere præcis ved at bruge 48 timer i stedet?
16. januar 2007 - 13:06
#13
Bare gør sådan her. Så kører den på sek presision: sek = datediff("s","15-01-2007 20:00","14-01-2007 20:00") dage = fix(sek/86400)
16. januar 2007 - 13:16
#14
Så takker jeg for hjælpen :) Svar = point
16. januar 2007 - 13:21
#15
.o) <-- One Eyed Jack
16. januar 2007 - 13:27
#16
:^)
16. januar 2007 - 15:16
#17
Jeg får desværre systax fejl i DateAdd :-( Function doMysqlDateTime () dtDateTime = Now() dtDateTime = DatePart("YYYY", dtDateTime) & "-" & DatePart("M", dtDateTime) & "-" & DatePart("D", dtDateTime) & " " & DatePart("H", dtDateTime) & ":" & DatePart("N", dtDateTime) & ":" & DatePart("S", dtDateTime) doMysqlDateTime = dtDateTime End Function DateAdd ("d",2,"'" & doMysqlDateTime & "'")
16. januar 2007 - 15:25
#18
Du skal ikke have ' omkring: DateAdd ("d",2,doMysqlDateTime) Desuden kan du ikke bruge dateadd på datoer der ikke er formateret til ASP. Din funktione skulle nærmere være: Function doMysqlDateTime (byVal dtDateTime ) dtDateTime = DatePart("YYYY", dtDateTime) & "-" & DatePart("M", dtDateTime) & "-" & DatePart("D", dtDateTime) & " " & DatePart("H", dtDateTime) & ":" & DatePart("N", dtDateTime) & ":" & DatePart("S", dtDateTime) doMysqlDateTime = dtDateTime End Function response.write doMysqlDateTime(dateadd("d",2 now()))
16. januar 2007 - 15:42
#19
fennec >> det giver følgende fejl her: tegnet')' var ventet response.write doMysqlDateTime(dateadd("d",2 now())) --------------------------------------------^
16. januar 2007 - 15:50
#20
Må også hellere lige korrigerer, formatet er: 2007-15-01 20:00 Skrev tidligere: 15-01-2007 20:00
16. januar 2007 - 16:12
#21
Der manglede et komma efter 2: response.write doMysqlDateTime(dateadd("d",2,now())) Du skal være opmærksom på at du skal køre med 2 dato formater. Et til ASP og et til MySQL: ASP: dd-mm-yyyy MySQL: yyyy-mm-dd Dine datoer fra ASP skal altså konverteres, når de skal ind i en sql-sætning. Til det bruger men en konverterings funktion (den du har lavet). dato = "16-01-2007 16:10" dato = dateadd("d",2,dato) sql = "select * from enTabel where dato='"& doMysqlDateTime(dato) &"'" Du kan via LCID i ASP ændre dens datoformat. Jeg er dog ikke sikker på at yyyy-mm-dd formatet eksistere heri.
16. januar 2007 - 16:29
#22
Ok tak. så vidt så godt, nu kan jeg i hvert fald skrive datetime ind i databasen, men så driller det her altså stadig. Hvad gør jeg galt her? Antallet af argumenter er forkert eller egenskabstildelingen er ugyldig: 'doMysqlDateTime' sek = datediff("s","'" & doMysqlDateTime & "'","" & rs("dato") & "")
16. januar 2007 - 16:54
#23
Du kan ALDRIG benytte din doMysqlDateTime i ASP's datofunktioner. Som sagt kræver de ASP datoformatet og din funktion konvertere jo til MySQL. Her er det så være at bemærke at datoer fra databasen kommer tilbage i det rigtige format, så der skal ikke laves en mySQLdate2ASPDate funktion. Du har kun 1 dato i kaldet (doMysqlDateTime er jo et forkert kald). Hvilken dato skal rs("dato") sammenlignes med?? now() måske? sek = datediff("s", now(), rs("dato"))
16. januar 2007 - 17:42
#24
Rs("dato") skal sammenlignes med 'doMysqlDateTime' Det er jo det format jeg har skrevet ind i databasen. rs("dato") skriver 2007-01-15 20:00
16. januar 2007 - 17:55
#25
Bare mig der ikke forstod det, men alt er ok, det virker fint :-)
Kurser inden for grundlæggende programmering